[ELF] Change MaxAlignment to 2.
authorShankar Easwaran <shankare@codeaurora.org>
Wed, 9 Oct 2013 18:12:31 +0000 (18:12 +0000)
committerShankar Easwaran <shankare@codeaurora.org>
Wed, 9 Oct 2013 18:12:31 +0000 (18:12 +0000)
llvm-svn: 192310

lld/lib/ReaderWriter/ELF/Hexagon/HexagonExecutableAtoms.h
lld/lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.h
lld/lib/ReaderWriter/ELF/Hexagon/HexagonSectionChunks.h
lld/lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.h
lld/lib/ReaderWriter/ELF/PPC/PPCTargetHandler.h
lld/lib/ReaderWriter/ELF/X86/X86TargetHandler.h
lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationHandler.h
lld/lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.h
lld/test/elf/Hexagon/Inputs/libMaxAlignment.a [new file with mode: 0644]
lld/test/elf/Hexagon/maxalignment.test [new file with mode: 0644]

index e74d2a1..5191cc1 100644 (file)
@@ -14,7 +14,7 @@
 
 namespace lld {
 namespace elf {
-typedef llvm::object::ELFType<llvm::support::little, 4, false> HexagonELFType;
+typedef llvm::object::ELFType<llvm::support::little, 2, false> HexagonELFType;
 class HexagonLinkingContext;
 
 template <class HexagonELFType> class HexagonRuntimeFile
index ba2d320..bf4f156 100644 (file)
@@ -15,7 +15,6 @@
 
 namespace lld {
 namespace elf {
-typedef llvm::object::ELFType<llvm::support::little, 4, false> HexagonELFType;
 
 class HexagonLinkingContext;
 class HexagonTargetHandler;
index 82755ac..474f823 100644 (file)
@@ -13,7 +13,7 @@
 
 namespace lld {
 namespace elf {
-typedef llvm::object::ELFType<llvm::support::little, 4, false> HexagonELFType;
+typedef llvm::object::ELFType<llvm::support::little, 2, false> HexagonELFType;
 template <typename ELFT> class HexagonTargetLayout;
 class HexagonLinkingContext;
 
index b243b9b..56b14b3 100644 (file)
@@ -18,7 +18,7 @@
 
 namespace lld {
 namespace elf {
-typedef llvm::object::ELFType<llvm::support::little, 4, false> HexagonELFType;
+typedef llvm::object::ELFType<llvm::support::little, 2, false> HexagonELFType;
 class HexagonLinkingContext;
 
 /// \brief Handle Hexagon specific Atoms
index 185ef79..488e77e 100644 (file)
@@ -15,7 +15,7 @@
 
 namespace lld {
 namespace elf {
-typedef llvm::object::ELFType<llvm::support::big, 4, false> PPCELFType;
+typedef llvm::object::ELFType<llvm::support::big, 2, false> PPCELFType;
 class PPCLinkingContext;
 
 class PPCTargetRelocationHandler LLVM_FINAL
index f82dc25..59ee1b7 100644 (file)
@@ -15,7 +15,7 @@
 
 namespace lld {
 namespace elf {
-typedef llvm::object::ELFType<llvm::support::little, 4, false> X86ELFType;
+typedef llvm::object::ELFType<llvm::support::little, 2, false> X86ELFType;
 class X86LinkingContext;
 
 class X86TargetRelocationHandler LLVM_FINAL
index 41db1b9..f11e6ce 100644 (file)
@@ -15,7 +15,7 @@
 
 namespace lld {
 namespace elf {
-typedef llvm::object::ELFType<llvm::support::little, 8, true> X86_64ELFType;
+typedef llvm::object::ELFType<llvm::support::little, 2, true> X86_64ELFType;
 class X86_64LinkingContext;
 
 class X86_64TargetRelocationHandler LLVM_FINAL
index d32981a..5d3ee22 100644 (file)
@@ -19,7 +19,7 @@
 
 namespace lld {
 namespace elf {
-typedef llvm::object::ELFType<llvm::support::little, 8, true> X86_64ELFType;
+typedef llvm::object::ELFType<llvm::support::little, 2, true> X86_64ELFType;
 class X86_64LinkingContext;
 
 class X86_64TargetHandler LLVM_FINAL
diff --git a/lld/test/elf/Hexagon/Inputs/libMaxAlignment.a b/lld/test/elf/Hexagon/Inputs/libMaxAlignment.a
new file mode 100644 (file)
index 0000000..cc5461a
Binary files /dev/null and b/lld/test/elf/Hexagon/Inputs/libMaxAlignment.a differ
diff --git a/lld/test/elf/Hexagon/maxalignment.test b/lld/test/elf/Hexagon/maxalignment.test
new file mode 100644 (file)
index 0000000..cac1c20
--- /dev/null
@@ -0,0 +1,8 @@
+# This tests that we lld is able to get the contentType properly for archives
+# when they intermittently get loaded at an address whose alignment is 2
+
+RUN: lld -flavor gnu -target hexagon --whole-archive %p/Inputs/libMaxAlignment.a \
+RUN: --noinhibit-exec -static -o %t
+RUN: llvm-nm %t | FileCheck %s
+
+CHECK: {{[0-9a-f]+}} D a