[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