[lld] r221587 - [ELF] Fix values of linker created dynamic variables.

Sean Silva chisophugis at gmail.com
Mon Nov 10 16:06:38 PST 2014


+        .StartsWith(".got", ORDER_GOT)
+        .StartsWith(".got.plt", ORDER_GOT_PLT)

You need to reverse the order of these checks. StartsWith(".got") will
always match when the string StartsWith(".got.plt").

On Mon, Nov 10, 2014 at 6:55 AM, Shankar Easwaran <shankare at codeaurora.org>
wrote:

> Author: shankare
> Date: Mon Nov 10 08:55:07 2014
> New Revision: 221587
>
> URL: http://llvm.org/viewvc/llvm-project?rev=221587&view=rev
> Log:
> [ELF] Fix values of linker created dynamic variables.
>
> The value of _DYNAMIC should be pointing at the start of the .dynamic
> segment.
> This was pointing to the end of the dynamic segment. Similarly the value of
> _GLOBAL_OFFSET_TABLE_ was not proper too.
>
> Modified:
>     lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h
>     lld/trunk/test/elf/dynamic-segorder.test
>     lld/trunk/test/elf/entry.objtxt
>
> Modified: lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h?rev=221587&r1=221586&r2=221587&view=diff
>
> ==============================================================================
> --- lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h (original)
> +++ lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h Mon Nov 10 08:55:07 2014
> @@ -359,6 +359,9 @@ Layout::SectionOrder DefaultLayout<ELFT>
>      return llvm::StringSwitch<Layout::SectionOrder>(name)
>          .StartsWith(".init_array", ORDER_INIT_ARRAY)
>          .StartsWith(".fini_array", ORDER_FINI_ARRAY)
> +        .StartsWith(".dynamic", ORDER_DYNAMIC)
> +        .StartsWith(".got", ORDER_GOT)
> +        .StartsWith(".got.plt", ORDER_GOT_PLT)
>          .Default(ORDER_DATA);
>
>    case DefinedAtom::typeZeroFill:
>
> Modified: lld/trunk/test/elf/dynamic-segorder.test
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/dynamic-segorder.test?rev=221587&r1=221586&r2=221587&view=diff
>
> ==============================================================================
> --- lld/trunk/test/elf/dynamic-segorder.test (original)
> +++ lld/trunk/test/elf/dynamic-segorder.test Mon Nov 10 08:55:07 2014
> @@ -12,6 +12,6 @@ CHECK: flags r-x
>  CHECK: LOAD
>  CHECK: flags rw-
>  CHECK: DYNAMIC
> -CHECK: flags r--
> +CHECK: flags rw-
>  CHECK: TLS
>  CHECK: flags rw-
>
> Modified: lld/trunk/test/elf/entry.objtxt
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/entry.objtxt?rev=221587&r1=221586&r2=221587&view=diff
>
> ==============================================================================
> --- lld/trunk/test/elf/entry.objtxt (original)
> +++ lld/trunk/test/elf/entry.objtxt Mon Nov 10 08:55:07 2014
> @@ -12,7 +12,7 @@
>  # RUN: llvm-nm -n %t1 | FileCheck %s
>  #
>  # CHECK:  004001e0 T main
> -# CHECK:  00401080 D _DYNAMIC
> +# CHECK:  00401000 D _DYNAMIC
>  # CHECK:  00401080 A _end
>  # CHECK:  00401080 A end
>  # CHECK:           U _entrypoint
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141110/22b490d5/attachment.html>


More information about the llvm-commits mailing list