164 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			164 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
RUN: llvm-readobj --dyn-symbols %p/Inputs/dynamic-table-so.x86 | FileCheck %s
 | 
						|
 | 
						|
# Check the two-letter alias --dt is equivalent to the --dyn-symbols full flag
 | 
						|
# name.
 | 
						|
RUN: llvm-readobj --dt %p/Inputs/dynamic-table-so.x86 > %t.readobj-dt-alias
 | 
						|
RUN: llvm-readobj --dyn-symbols %p/Inputs/dynamic-table-so.x86 > %t.readobj-dt-no-alias
 | 
						|
RUN: diff %t.readobj-dt-alias %t.readobj-dt-no-alias
 | 
						|
 | 
						|
# CHECK:      DynamicSymbols [
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name:
 | 
						|
# CHECK-NEXT:     Value: 0x0
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Local
 | 
						|
# CHECK-NEXT:     Type: None
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: Undefined
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name:
 | 
						|
# CHECK-NEXT:     Value: 0x618
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Local
 | 
						|
# CHECK-NEXT:     Type: Section
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: .init
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name:
 | 
						|
# CHECK-NEXT:     Value: 0x200DC0
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Local
 | 
						|
# CHECK-NEXT:     Type: Section
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: .tbss
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: _ITM_deregisterTMCloneTable{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x0
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Weak
 | 
						|
# CHECK-NEXT:     Type: None
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: Undefined
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: puts@GLIBC_2.2.5{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x0
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Global
 | 
						|
# CHECK-NEXT:     Type: Function
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: Undefined
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: __tls_get_addr@GLIBC_2.3{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x0
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Global
 | 
						|
# CHECK-NEXT:     Type: Function
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: Undefined
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: __gmon_start__{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x0
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Weak
 | 
						|
# CHECK-NEXT:     Type: None
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: Undefined
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: _Jv_RegisterClasses{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x0
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Weak
 | 
						|
# CHECK-NEXT:     Type: None
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: Undefined
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: _ITM_registerTMCloneTable{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x0
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Weak
 | 
						|
# CHECK-NEXT:     Type: None
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: Undefined
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: __cxa_finalize@GLIBC_2.2.5{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x0
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Weak
 | 
						|
# CHECK-NEXT:     Type: Function
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: Undefined
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: _edata{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x201030
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Global
 | 
						|
# CHECK-NEXT:     Type: None
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: .data
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: foo{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x0
 | 
						|
# CHECK-NEXT:     Size: 4
 | 
						|
# CHECK-NEXT:     Binding: Global
 | 
						|
# CHECK-NEXT:     Type: TLS
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: .tbss
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: _end{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x201038
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Global
 | 
						|
# CHECK-NEXT:     Type: None
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: .bss
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: __bss_start{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x201030
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Global
 | 
						|
# CHECK-NEXT:     Type: None
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: .bss
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: main{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x780
 | 
						|
# CHECK-NEXT:     Size: 59
 | 
						|
# CHECK-NEXT:     Binding: Global
 | 
						|
# CHECK-NEXT:     Type: Function
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: .text
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: _init{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x618
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Global
 | 
						|
# CHECK-NEXT:     Type: Function
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: .init
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT:   Symbol {
 | 
						|
# CHECK-NEXT:     Name: _fini{{ }}
 | 
						|
# CHECK-NEXT:     Value: 0x7BC
 | 
						|
# CHECK-NEXT:     Size: 0
 | 
						|
# CHECK-NEXT:     Binding: Global
 | 
						|
# CHECK-NEXT:     Type: Function
 | 
						|
# CHECK-NEXT:     Other: 0
 | 
						|
# CHECK-NEXT:     Section: .fini
 | 
						|
# CHECK-NEXT:   }
 | 
						|
# CHECK-NEXT: ]
 |