forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			71 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
# RUN: yaml2obj --docnum=1 %s -o %t1
 | 
						|
# RUN: llvm-objcopy %t1 %t2
 | 
						|
# RUN: llvm-readobj --relocations %t2 | FileCheck %s
 | 
						|
 | 
						|
--- !ELF
 | 
						|
FileHeader:
 | 
						|
  Class:           ELFCLASS64
 | 
						|
  Data:            ELFDATA2LSB
 | 
						|
  Type:            ET_EXEC
 | 
						|
  Machine:         EM_X86_64
 | 
						|
Sections:
 | 
						|
  - Name:            .text
 | 
						|
    Type:            SHT_PROGBITS
 | 
						|
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
 | 
						|
    Address:         0x1000
 | 
						|
    AddressAlign:    0x0000000000000010
 | 
						|
    Content:         "0000000000000000"
 | 
						|
  - Name:            .rel.text
 | 
						|
    Type:            SHT_REL
 | 
						|
    Info:            .text
 | 
						|
    Relocations:
 | 
						|
      - Offset: 0x1000
 | 
						|
        Type:   R_X86_64_RELATIVE
 | 
						|
 | 
						|
# CHECK:     Relocations [
 | 
						|
# CHECK-NEXT:  Section (2) .rel.text {
 | 
						|
# CHECK-NEXT:    0x1000 R_X86_64_RELATIVE -
 | 
						|
# CHECK-NEXT:  }
 | 
						|
# CHECK-NEXT:]
 | 
						|
 | 
						|
## Check we produce a valid output when stripping unneeded symbols from an object that
 | 
						|
## has a symbol table and a relocation with a symbol index of 0.
 | 
						|
 | 
						|
# RUN: yaml2obj --docnum=2 %s -o %t3
 | 
						|
# RUN: llvm-objcopy --strip-unneeded %t3 %t4
 | 
						|
# RUN: llvm-readobj --relocations --sections --symbols %t4 | FileCheck %s --check-prefix=STRIP
 | 
						|
 | 
						|
# STRIP:      Relocations [
 | 
						|
# STRIP-NEXT:   Section {{.*}} .rel.text {
 | 
						|
# STRIP-NEXT:     0x1000 R_X86_64_NONE -
 | 
						|
# STRIP-NEXT:   }
 | 
						|
# STRIP-NEXT: ]
 | 
						|
# STRIP-NEXT: Symbols [
 | 
						|
# STRIP-NEXT:   Symbol {
 | 
						|
# STRIP-NEXT:     Name:  (0)
 | 
						|
# STRIP-NEXT:     Value: 0x0
 | 
						|
# STRIP-NEXT:     Size: 0
 | 
						|
# STRIP-NEXT:     Binding: Local (0x0)
 | 
						|
# STRIP-NEXT:     Type: None (0x0)
 | 
						|
# STRIP-NEXT:     Other: 0
 | 
						|
# STRIP-NEXT:     Section: Undefined (0x0)
 | 
						|
# STRIP-NEXT:   }
 | 
						|
# STRIP-NEXT: ]
 | 
						|
 | 
						|
--- !ELF
 | 
						|
FileHeader:
 | 
						|
  Class:   ELFCLASS64
 | 
						|
  Data:    ELFDATA2LSB
 | 
						|
  Type:    ET_REL
 | 
						|
  Machine: EM_X86_64
 | 
						|
Sections:
 | 
						|
  - Name:  .text
 | 
						|
    Type:  SHT_PROGBITS
 | 
						|
  - Name:  .rel.text
 | 
						|
    Type:  SHT_REL
 | 
						|
    Info:  .text
 | 
						|
    Relocations:
 | 
						|
      - Offset: 0x1000
 | 
						|
        Type:   R_X86_64_NONE
 | 
						|
Symbols: []
 |