mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	llvm-lib is intended to be a lib.exe compatible utility that also understands bitcode. The implementation lives in a library so that lld can use it to implement /lib. Differential Revision: http://reviews.llvm.org/D10297 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239434 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
RUN: llvm-nm -a %p/Inputs/archive-test.a-coff-i386 \
 | 
						|
RUN:         | FileCheck %s -check-prefix COFF
 | 
						|
 | 
						|
COFF: trivial-object-test.coff-i386:
 | 
						|
COFF-NEXT: 00000000 d .data
 | 
						|
COFF-NEXT: 00000000 t .text
 | 
						|
COFF-NEXT: 00000000 d L_.str
 | 
						|
COFF-NEXT:          U _SomeOtherFunction
 | 
						|
COFF-NEXT: 00000000 T _main
 | 
						|
COFF-NEXT:          U _puts
 | 
						|
 | 
						|
RUN: llvm-nm -a -o %p/Inputs/archive-test.a-coff-i386 \
 | 
						|
RUN:         | FileCheck %s -check-prefix COFF-o
 | 
						|
 | 
						|
COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d .data
 | 
						|
COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 t .text
 | 
						|
COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 d L_.str
 | 
						|
COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386:          U _SomeOtherFunction
 | 
						|
COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386: 00000000 T _main
 | 
						|
COFF-o: {{.*}}/archive-test.a-coff-i386:trivial-object-test.coff-i386:          U _puts
 | 
						|
 | 
						|
RUN: llvm-as %p/Inputs/trivial.ll -o=%t1
 | 
						|
RUN: rm -f %t2
 | 
						|
RUN: llvm-ar rcs %t2 %t1
 | 
						|
RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
 | 
						|
 | 
						|
RUN: rm -f %t2
 | 
						|
RUN: llvm-lib /out:%t2 %t1
 | 
						|
RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
 | 
						|
 | 
						|
RUN: rm -f %t2
 | 
						|
RUN: echo /out:%t2 %t1 > %t.rsp
 | 
						|
RUN: llvm-lib @%t.rsp
 | 
						|
RUN: llvm-nm %t2 | FileCheck %s -check-prefix BITCODE
 | 
						|
 | 
						|
BITCODE:          U SomeOtherFunction
 | 
						|
BITCODE-NEXT:          T main
 | 
						|
BITCODE-NEXT:          U puts
 | 
						|
BITCODE-NEXT:          D var
 | 
						|
 | 
						|
 | 
						|
Test we don't error with an archive with no symtab.
 | 
						|
RUN: llvm-nm %p/Inputs/archive-test.a-gnu-no-symtab
 | 
						|
 | 
						|
 | 
						|
Or in an archive with no symtab or string table.
 | 
						|
RUN: llvm-nm %p/Inputs/archive-test.a-gnu-minimal
 | 
						|
 | 
						|
 | 
						|
And don't crash when asked to print a non-existing symtab.
 | 
						|
RUN: llvm-nm -M %p/Inputs/archive-test.a-gnu-minimal
 | 
						|
 | 
						|
Don't reject an empty archive.
 | 
						|
RUN: llvm-nm %p/Inputs/archive-test.a-empty
 | 
						|
 | 
						|
This archive has an unaligned member and a unknown format member.
 | 
						|
GNU AR is able to parse the unaligned member and warns about the member with
 | 
						|
the unknown format. We should probably simply warn on both. For now just check
 | 
						|
that we don't produce an error.
 | 
						|
RUN: llvm-nm %p/Inputs/corrupt-archive.a
 |