mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	The internal shell was already threading around a 'cwd' parameter. We just have to make it mutable so that we can update it as the test script executes. If the shell ever grows support for environment variable substitution, we could also implement support for export. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231017 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			172 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			172 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| RUN: yaml2obj %p/Inputs/COFF/i386.yaml | llvm-nm -a -S - \
 | |
| RUN:         | FileCheck %s -check-prefix COFF
 | |
| RUN: yaml2obj %p/Inputs/COFF/x86-64.yaml | llvm-nm -a -S - \
 | |
| RUN:         | FileCheck %s -check-prefix COFF
 | |
| RUN: llvm-nm %p/Inputs/trivial-object-test.elf-i386 \
 | |
| RUN:         | FileCheck %s -check-prefix ELF
 | |
| RUN: llvm-nm -o %p/Inputs/trivial-object-test.elf-i386 \
 | |
| RUN:         | FileCheck %s -check-prefix ELF-o
 | |
| RUN: llvm-nm -u %p/Inputs/trivial-object-test.elf-i386 \
 | |
| RUN:         | FileCheck %s -check-prefix ELF-u
 | |
| RUN: llvm-nm %p/Inputs/trivial-object-test.elf-x86-64 \
 | |
| RUN:         | FileCheck %s -check-prefix ELF64
 | |
| RUN: llvm-nm %p/Inputs/weak.elf-x86-64 \
 | |
| RUN:         | FileCheck %s -check-prefix WEAK-ELF64
 | |
| RUN: llvm-nm %p/Inputs/absolute.elf-x86-64 \
 | |
| RUN:         | FileCheck %s -check-prefix ABSOLUTE-ELF64
 | |
| RUN: llvm-nm %p/Inputs/trivial-object-test.macho-i386 \
 | |
| RUN:         | FileCheck %s -check-prefix macho
 | |
| RUN: llvm-nm -U %p/Inputs/trivial-object-test.macho-i386 \
 | |
| RUN:         | FileCheck %s -check-prefix macho-U
 | |
| RUN: llvm-nm %p/Inputs/trivial-object-test.macho-x86-64 \
 | |
| RUN:         | FileCheck %s -check-prefix macho64
 | |
| RUN: llvm-nm %p/Inputs/macho-text-data-bss.macho-x86_64 \
 | |
| RUN:         | FileCheck %s -check-prefix macho-tdb
 | |
| RUN: llvm-nm -j %p/Inputs/macho-text-data-bss.macho-x86_64 \
 | |
| RUN:         | FileCheck %s -check-prefix macho-j
 | |
| RUN: llvm-nm -r %p/Inputs/macho-text-data-bss.macho-x86_64 \
 | |
| RUN:         | FileCheck %s -check-prefix macho-r
 | |
| RUN: llvm-nm %p/Inputs/macho-text-data-bss.macho-x86_64 -s __DATA __data \
 | |
| RUN:         | FileCheck %s -check-prefix macho-s
 | |
| RUN: llvm-nm -x %p/Inputs/macho-text-data-bss.macho-x86_64 \
 | |
| RUN:         | FileCheck %s -check-prefix macho-x
 | |
| RUN: llvm-nm -o %p/Inputs/macho-text-data-bss.macho-x86_64 \
 | |
| RUN:         | FileCheck %s -check-prefix macho-o
 | |
| RUN: llvm-nm -p -a %p/Inputs/macho-hello-g.macho-x86_64 \
 | |
| RUN:         | FileCheck %s -check-prefix macho-pa
 | |
| RUN: llvm-nm -u %p/Inputs/macho-hello-g.macho-x86_64 \
 | |
| RUN:         | FileCheck %s -check-prefix macho-u
 | |
| RUN: llvm-nm -S -a %p/Inputs/common.coff-i386 \
 | |
| RUN:         | FileCheck %s -check-prefix COFF-COMMON
 | |
| RUN: llvm-nm %p/Inputs/relocatable-with-section-address.elf-x86-64 \
 | |
| RUN:         | FileCheck %s -check-prefix ELF-SEC-ADDR64
 | |
| RUN: llvm-nm %p/Inputs/thumb-symbols.elf.arm \
 | |
| RUN:         | FileCheck %s -check-prefix ELF-THUMB
 | |
| RUN: mkdir -p %t
 | |
| RUN: cd %t
 | |
| RUN: cp %p/Inputs/trivial-object-test.macho-i386 a.out
 | |
| RUN: llvm-nm | FileCheck %s -check-prefix A-OUT
 | |
| 
 | |
| 
 | |
| COFF: 00000000 {{.*}} d .data
 | |
| COFF: 00000000 {{.*}} t .text
 | |
| COFF: 00000000 0000000d d L{{_?}}.str
 | |
| COFF:          U {{_?}}SomeOtherFunction
 | |
| COFF: 00000000 {{.*}} T {{_?}}main
 | |
| COFF:          U {{_?}}puts
 | |
| 
 | |
| COFF-COMMON: 00000000 00000000 b .bss
 | |
| COFF-COMMON-NEXT: 00000000 00000000 d .data
 | |
| COFF-COMMON-NEXT: 00000000 00000014 d .drectve
 | |
| COFF-COMMON-NEXT: 00000000 00000000 n .file
 | |
| COFF-COMMON-NEXT: 00000000 00000014 r .rdata$zzz
 | |
| COFF-COMMON-NEXT: 00000000 00000000 t .text
 | |
| COFF-COMMON-NEXT:          00000004 C _a
 | |
| 
 | |
| 
 | |
| ELF-NOT:      U
 | |
| ELF:          U SomeOtherFunction
 | |
| ELF: 00000000 T main
 | |
| ELF:          U puts
 | |
| 
 | |
| ELF-o: {{.*}}/trivial-object-test.elf-i386:          U SomeOtherFunction
 | |
| ELF-o: {{.*}}/trivial-object-test.elf-i386: 00000000 T main
 | |
| ELF-o: {{.*}}/trivial-object-test.elf-i386:          U puts
 | |
| 
 | |
| ELF-u:          U SomeOtherFunction
 | |
| ELF-u:          U puts
 | |
| 
 | |
| ELF64:                  U SomeOtherFunction
 | |
| ELF64: 0000000000000000 T main
 | |
| ELF64:                  U puts
 | |
| 
 | |
| WEAK-ELF64:                  w f1
 | |
| WEAK-ELF64: 0000000000000000 W f2
 | |
| WEAK-ELF64:                  v x1
 | |
| WEAK-ELF64: 0000000000000000 V x2
 | |
| 
 | |
| ABSOLUTE-ELF64: 0000000000000123 a a1
 | |
| ABSOLUTE-ELF64: 0000000000000123 A a2
 | |
| 
 | |
| macho:          U _SomeOtherFunction
 | |
| macho: 00000000 T _main
 | |
| macho:          U _puts
 | |
| 
 | |
| macho-U-NOT:          U _SomeOtherFunction
 | |
| macho-U: 00000000 T _main
 | |
| macho-U-NOT:          U _puts
 | |
| 
 | |
| macho64: 0000000000000028 s L_.str
 | |
| macho64:                  U _SomeOtherFunction
 | |
| macho64: 0000000000000000 T _main
 | |
| macho64:                  U _puts
 | |
| 
 | |
| macho-tdb: 0000000000000030 s EH_frame0
 | |
| macho-tdb: 0000000000000070 b _b
 | |
| macho-tdb: 000000000000000c D _d
 | |
| macho-tdb: 0000000000000000 T _t
 | |
| macho-tdb: 0000000000000048 S _t.eh
 | |
| 
 | |
| macho-j: EH_frame0
 | |
| macho-j: _b
 | |
| macho-j: _d
 | |
| macho-j: _t
 | |
| macho-j: _t.eh
 | |
| 
 | |
| macho-r: 0000000000000048 S _t.eh
 | |
| macho-r-NEXT: 0000000000000000 T _t
 | |
| macho-r-NEXT: 000000000000000c D _d
 | |
| macho-r-NEXT: 0000000000000070 b _b
 | |
| macho-r-NEXT: 0000000000000030 s EH_frame0
 | |
| 
 | |
| macho-s: 000000000000000c D _d
 | |
| macho-s-NOT: 0000000000000048 S _t.eh
 | |
| macho-s-NOT: 0000000000000000 T _t
 | |
| macho-s-NOT: 0000000000000070 b _b
 | |
| macho-s-NOT: 0000000000000030 s EH_frame0
 | |
| 
 | |
| macho-x: 0000000000000030 0e 05 0000 00000010 EH_frame0
 | |
| macho-x: 0000000000000070 0e 03 0000 0000000d _b
 | |
| macho-x: 000000000000000c 0f 02 0000 00000004 _d
 | |
| macho-x: 0000000000000000 0f 01 0000 00000001 _t
 | |
| macho-x: 0000000000000048 0f 05 0000 00000007 _t.eh
 | |
| 
 | |
| 
 | |
| macho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000030 s EH_frame0
 | |
| macho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000070 b _b
 | |
| macho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 000000000000000c D _d
 | |
| macho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000000 T _t
 | |
| macho-o: {{.*}}/macho-text-data-bss.macho-x86_64: 0000000000000048 S _t.eh
 | |
| 
 | |
| macho-pa: 0000000000000000 - 00 0000    SO /Volumes/SandBox/
 | |
| macho-pa: 0000000000000000 - 00 0000    SO hello.c
 | |
| macho-pa: 0000000053c8408d - 03 0001   OSO /Volumes/SandBox/hello.o
 | |
| macho-pa: 0000000100000f30 - 01 0000 BNSYM 
 | |
| macho-pa: 0000000100000f30 - 01 0000   FUN _main
 | |
| macho-pa: 000000000000003b - 00 0000   FUN 
 | |
| macho-pa: 000000000000003b - 01 0000 ENSYM 
 | |
| macho-pa: 0000000000000000 - 01 0000    SO 
 | |
| macho-pa: 0000000100000000 T __mh_execute_header
 | |
| macho-pa: 0000000100000f30 T _main
 | |
| macho-pa:                  U _printf
 | |
| macho-pa:                  U dyld_stub_binder
 | |
| 
 | |
| macho-u: _printf
 | |
| macho-u: dyld_stub_binder
 | |
| 
 | |
| Test that nm uses addresses even with ELF .o files.
 | |
| ELF-SEC-ADDR64:      0000000000000058 D a
 | |
| ELF-SEC-ADDR64-NEXT: 000000000000005c D b
 | |
| ELF-SEC-ADDR64-NEXT: 0000000000000040 T f
 | |
| ELF-SEC-ADDR64-NEXT: 0000000000000050 T g
 | |
| ELF-SEC-ADDR64-NEXT: 0000000000000060 D p
 | |
| 
 | |
| 
 | |
| Test that we drop the thumb bit only from function addresses.
 | |
| ELF-THUMB: 00000000 t f
 | |
| ELF-THUMB: 00000003 t g
 | |
| 
 | |
| A-OUT:          U _SomeOtherFunction
 | |
| A-OUT: 00000000 T _main
 | |
| A-OUT:          U _puts
 |