[lld] r221587 - [ELF] Fix values of linker created dynamic variables.
Shankar Easwaran
shankare at codeaurora.org
Mon Nov 10 06:55:08 PST 2014
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
More information about the llvm-commits
mailing list