# REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o # RUN: ld.lld -shared %t.o -o %t.out # RUN: llvm-readobj -r --expand-relocs --dynamic-table %t.out | FileCheck %s # RUN: ld.lld -shared %t.o -o %t.out -z combreloc # RUN: llvm-readobj -r --expand-relocs --dynamic-table %t.out | FileCheck %s # CHECK: Relocations [ # CHECK-NEXT: Section ({{.*}}) .rela.dyn { # CHECK-NEXT: Relocation { # CHECK-NEXT: Offset: 0x1000 # CHECK-NEXT: Type: R_X86_64_64 # CHECK-NEXT: Symbol: aaa (1) # CHECK-NEXT: Addend: 0x0 # CHECK-NEXT: } # CHECK-NEXT: Relocation { # CHECK-NEXT: Offset: 0x1018 # CHECK-NEXT: Type: R_X86_64_64 # CHECK-NEXT: Symbol: aaa (1) # CHECK-NEXT: Addend: 0x0 # CHECK-NEXT: } # CHECK-NEXT: Relocation { # CHECK-NEXT: Offset: 0x1010 # CHECK-NEXT: Type: R_X86_64_64 # CHECK-NEXT: Symbol: bbb (2) # CHECK-NEXT: Addend: 0x0 # CHECK-NEXT: } # CHECK-NEXT: Relocation { # CHECK-NEXT: Offset: 0x1008 # CHECK-NEXT: Type: R_X86_64_64 # CHECK-NEXT: Symbol: ccc (3) # CHECK-NEXT: Addend: 0x0 # CHECK-NEXT: } # CHECK-NEXT: Relocation { # CHECK-NEXT: Offset: 0x1020 # CHECK-NEXT: Type: R_X86_64_64 # CHECK-NEXT: Symbol: ddd (4) # CHECK-NEXT: Addend: 0x0 # CHECK-NEXT: } # CHECK-NEXT: } # CHECK-NEXT: ] # CHECK: DynamicSection [ # CHECK-NEXT: Tag # CHECK-NOT: RELACOUNT # RUN: ld.lld -z nocombreloc -shared %t.o -o %t.out # RUN: llvm-readobj -r --expand-relocs --dynamic-table %t.out | \ # RUN: FileCheck --check-prefix=NOCOMB %s # NOCOMB: Relocations [ # NOCOMB-NEXT: Section ({{.*}}) .rela.dyn { # NOCOMB-NEXT: Relocation { # NOCOMB-NEXT: Offset: 0x1000 # NOCOMB-NEXT: Type: R_X86_64_64 # NOCOMB-NEXT: Symbol: aaa (1) # NOCOMB-NEXT: Addend: 0x0 # NOCOMB-NEXT: } # NOCOMB-NEXT: Relocation { # NOCOMB-NEXT: Offset: 0x1008 # NOCOMB-NEXT: Type: R_X86_64_64 # NOCOMB-NEXT: Symbol: ccc (3) # NOCOMB-NEXT: Addend: 0x0 # NOCOMB-NEXT: } # NOCOMB-NEXT: Relocation { # NOCOMB-NEXT: Offset: 0x1010 # NOCOMB-NEXT: Type: R_X86_64_64 # NOCOMB-NEXT: Symbol: bbb (2) # NOCOMB-NEXT: Addend: 0x0 # NOCOMB-NEXT: } # NOCOMB-NEXT: Relocation { # NOCOMB-NEXT: Offset: 0x1018 # NOCOMB-NEXT: Type: R_X86_64_64 # NOCOMB-NEXT: Symbol: aaa (1) # NOCOMB-NEXT: Addend: 0x0 # NOCOMB-NEXT: } # NOCOMB-NEXT: Relocation { # NOCOMB-NEXT: Offset: 0x1020 # NOCOMB-NEXT: Type: R_X86_64_64 # NOCOMB-NEXT: Symbol: ddd (4) # NOCOMB-NEXT: Addend: 0x0 # NOCOMB-NEXT: } # NOCOMB-NEXT: } # NOCOMB-NEXT: ] # NOCOMB: DynamicSection [ # NOCOMB-NEXT: Tag # NOCOMB-NOT: RELACOUNT .data .quad aaa .quad ccc .quad bbb .quad aaa .quad ddd