<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">+        .StartsWith(".got", ORDER_GOT)</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">+        .StartsWith(".got.plt", ORDER_GOT_PLT)</span><br><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">You need to reverse the order of these checks. StartsWith(".got") will always match when the string StartsWith(".got.plt").</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 10, 2014 at 6:55 AM, Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: shankare<br>
Date: Mon Nov 10 08:55:07 2014<br>
New Revision: 221587<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=221587&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=221587&view=rev</a><br>
Log:<br>
[ELF] Fix values of linker created dynamic variables.<br>
<br>
The value of _DYNAMIC should be pointing at the start of the .dynamic segment.<br>
This was pointing to the end of the dynamic segment. Similarly the value of<br>
_GLOBAL_OFFSET_TABLE_ was not proper too.<br>
<br>
Modified:<br>
    lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h<br>
    lld/trunk/test/elf/dynamic-segorder.test<br>
    lld/trunk/test/elf/entry.objtxt<br>
<br>
Modified: lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h?rev=221587&r1=221586&r2=221587&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h?rev=221587&r1=221586&r2=221587&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h (original)<br>
+++ lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h Mon Nov 10 08:55:07 2014<br>
@@ -359,6 +359,9 @@ Layout::SectionOrder DefaultLayout<ELFT><br>
     return llvm::StringSwitch<Layout::SectionOrder>(name)<br>
         .StartsWith(".init_array", ORDER_INIT_ARRAY)<br>
         .StartsWith(".fini_array", ORDER_FINI_ARRAY)<br>
+        .StartsWith(".dynamic", ORDER_DYNAMIC)<br>
+        .StartsWith(".got", ORDER_GOT)<br>
+        .StartsWith(".got.plt", ORDER_GOT_PLT)<br>
         .Default(ORDER_DATA);<br>
<br>
   case DefinedAtom::typeZeroFill:<br>
<br>
Modified: lld/trunk/test/elf/dynamic-segorder.test<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/dynamic-segorder.test?rev=221587&r1=221586&r2=221587&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/dynamic-segorder.test?rev=221587&r1=221586&r2=221587&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/dynamic-segorder.test (original)<br>
+++ lld/trunk/test/elf/dynamic-segorder.test Mon Nov 10 08:55:07 2014<br>
@@ -12,6 +12,6 @@ CHECK: flags r-x<br>
 CHECK: LOAD<br>
 CHECK: flags rw-<br>
 CHECK: DYNAMIC<br>
-CHECK: flags r--<br>
+CHECK: flags rw-<br>
 CHECK: TLS<br>
 CHECK: flags rw-<br>
<br>
Modified: lld/trunk/test/elf/entry.objtxt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/entry.objtxt?rev=221587&r1=221586&r2=221587&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/entry.objtxt?rev=221587&r1=221586&r2=221587&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/elf/entry.objtxt (original)<br>
+++ lld/trunk/test/elf/entry.objtxt Mon Nov 10 08:55:07 2014<br>
@@ -12,7 +12,7 @@<br>
 # RUN: llvm-nm -n %t1 | FileCheck %s<br>
 #<br>
 # CHECK:  004001e0 T main<br>
-# CHECK:  00401080 D _DYNAMIC<br>
+# CHECK:  00401000 D _DYNAMIC<br>
 # CHECK:  00401080 A _end<br>
 # CHECK:  00401080 A end<br>
 # CHECK:           U _entrypoint<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>