[lld] r320995 - Add a test.

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 18 10:54:17 PST 2017


Both gold and bfd put a zero in here, so there is something more going
on.

How do you reproduce the issue in freebsd? Using the glibc from
buildworld causes everything to crash?

Cheers,
Rafael


Rafael Espindola via llvm-commits <llvm-commits at lists.llvm.org> writes:

> Author: rafael
> Date: Mon Dec 18 09:36:28 2017
> New Revision: 320995
>
> URL: http://llvm.org/viewvc/llvm-project?rev=320995&view=rev
> Log:
> Add a test.
>
> This changed in r315658, but it was missing a test.
>
> Added:
>     lld/trunk/test/ELF/i386-got-value.s
>
> Added: lld/trunk/test/ELF/i386-got-value.s
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/i386-got-value.s?rev=320995&view=auto
> ==============================================================================
> --- lld/trunk/test/ELF/i386-got-value.s (added)
> +++ lld/trunk/test/ELF/i386-got-value.s Mon Dec 18 09:36:28 2017
> @@ -0,0 +1,36 @@
> +# 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 --symbols --sections --section-data %t.so | FileCheck %s
> +
> +# Check that the value of a preemptible symbol is written to the got
> +# entry when using Elf_Rel. It is not clear why that is required, but
> +# freebsd i386 seems to depend on it.
> +
> +# 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: 00200000
> +# CHECK-NEXT: )
> +
> +# CHECK: R_386_GLOB_DAT bar 0x0
> +
> +# CHECK:      Name: bar
> +# CHECK-NEXT: Value: 0x2000
> +
> +        movl    bar at GOT(%eax), %eax
> +
> +        .data
> +        .globl  bar
> +bar:
> +        .long   42
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list