# REQUIRES: x86 # RUN: llvm-mc %s -o %t.o -filetype=obj -triple=i386-pc-linux # RUN: ld.lld %t.o -o %t.so -shared # RUN: llvm-readobj --relocations --sections --section-data %t.so | FileCheck %s # Check that the value of a preemptible symbol is not written to the # got entry when using Elf_Rel. It is not needed since the dynamic # linker will write the final value. # CHECK: Name: .got # CHECK-NEXT: Type: SHT_PROGBITS # CHECK-NEXT: Flags [ # CHECK-NEXT: SHF_ALLOC # CHECK-NEXT: SHF_WRITE # CHECK-NEXT: ] # CHECK-NEXT: Address: # CHECK-NEXT: Offset: # CHECK-NEXT: Size: 4 # CHECK-NEXT: Link: # CHECK-NEXT: Info: # CHECK-NEXT: AddressAlignment: # CHECK-NEXT: EntrySize: # CHECK-NEXT: SectionData ( # CHECK-NEXT: 0000: 00000000 # CHECK-NEXT: ) # CHECK: R_386_GLOB_DAT bar 0x0 movl bar@GOT(%eax), %eax .data .globl bar bar: .long 42