[lld] r249760 - [ELF2] Make the system page size a target-dependent property

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 8 15:23:55 PDT 2015


Author: hfinkel
Date: Thu Oct  8 17:23:54 2015
New Revision: 249760

URL: http://llvm.org/viewvc/llvm-project?rev=249760&view=rev
Log:
[ELF2] Make the system page size a target-dependent property

The required page alignment is different on different targets. On PowerPC, for
example, we need 64K pages (the loader won't set different permissions on a
finer granularity than that). I've set the existing targets to what I believe
to be the correct values, and have updated the regression tests accordingly.

Modified:
    lld/trunk/ELF/Target.cpp
    lld/trunk/ELF/Target.h
    lld/trunk/ELF/Writer.cpp
    lld/trunk/test/elf2/basic-mips.s
    lld/trunk/test/elf2/basic32be.s
    lld/trunk/test/elf2/basic64be.s
    lld/trunk/test/elf2/emulation.s

Modified: lld/trunk/ELF/Target.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.cpp?rev=249760&r1=249759&r2=249760&view=diff
==============================================================================
--- lld/trunk/ELF/Target.cpp (original)
+++ lld/trunk/ELF/Target.cpp Thu Oct  8 17:23:54 2015
@@ -202,6 +202,7 @@ PPC64TargetInfo::PPC64TargetInfo() {
   // PCRelReloc = FIXME
   // GotReloc = FIXME
   PltEntrySize = 32;
+  PageSize = 65536;
   VAStart = 0x10000000;
 }
 void PPC64TargetInfo::writePltEntry(uint8_t *Buf, uint64_t GotEntryAddr,
@@ -235,6 +236,7 @@ void PPC64TargetInfo::relocateOne(uint8_
 PPCTargetInfo::PPCTargetInfo() {
   // PCRelReloc = FIXME
   // GotReloc = FIXME
+  PageSize = 65536;
   VAStart = 0x10000000;
 }
 void PPCTargetInfo::writePltEntry(uint8_t *Buf, uint64_t GotEntryAddr,
@@ -347,6 +349,7 @@ MipsTargetInfo::MipsTargetInfo() {
   // PCRelReloc = FIXME
   // GotReloc = FIXME
   DefaultEntry = "__start";
+  PageSize = 65536;
   VAStart = 0x400000;
 }
 

Modified: lld/trunk/ELF/Target.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.h?rev=249760&r1=249759&r2=249760&view=diff
==============================================================================
--- lld/trunk/ELF/Target.h (original)
+++ lld/trunk/ELF/Target.h Thu Oct  8 17:23:54 2015
@@ -21,6 +21,7 @@ class SymbolBody;
 class TargetInfo {
 public:
   llvm::StringRef getDefaultEntry() const { return DefaultEntry; }
+  unsigned getPageSize() const { return PageSize; }
   uint64_t getVAStart() const { return VAStart; }
   unsigned getPCRelReloc() const { return PCRelReloc; }
   unsigned getGotReloc() const { return GotReloc; }
@@ -39,6 +40,7 @@ public:
   virtual ~TargetInfo();
 
 protected:
+  unsigned PageSize = 4096;
   uint64_t VAStart;
   unsigned PCRelReloc;
   unsigned GotRefReloc;

Modified: lld/trunk/ELF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=249760&r1=249759&r2=249760&view=diff
==============================================================================
--- lld/trunk/ELF/Writer.cpp (original)
+++ lld/trunk/ELF/Writer.cpp Thu Oct  8 17:23:54 2015
@@ -22,8 +22,6 @@ using namespace llvm::object;
 using namespace lld;
 using namespace lld::elf2;
 
-static const int PageSize = 4096;
-
 namespace {
 
 static uint32_t toPHDRFlags(uint64_t Flags) {
@@ -43,7 +41,7 @@ template <class ELFT> struct ProgramHead
     std::memset(&Header, 0, sizeof(Elf_Phdr));
     Header.p_type = Type;
     Header.p_flags = Flags;
-    Header.p_align = PageSize;
+    Header.p_align = Target->getPageSize();
     Header.p_offset = FileOff;
     Header.p_vaddr = VA;
     Header.p_paddr = VA;
@@ -484,8 +482,8 @@ template <class ELFT> void Writer<ELFT>:
 
   // Reserve space for PHDRs.
   ProgramHeaderOff = FileOff;
-  FileOff = RoundUpToAlignment(FileOff, PageSize);
-  VA = RoundUpToAlignment(VA, PageSize);
+  FileOff = RoundUpToAlignment(FileOff, Target->getPageSize());
+  VA = RoundUpToAlignment(VA, Target->getPageSize());
 
   if (needsInterpSection())
     PHDRs.push_back(&InterpPHDR);
@@ -494,7 +492,7 @@ template <class ELFT> void Writer<ELFT>:
   PHDRs.push_back(&FileHeaderPHDR);
   FileHeaderPHDR.Header.p_vaddr = getVAStart();
   FileHeaderPHDR.Header.p_paddr = getVAStart();
-  FileHeaderPHDR.Header.p_align = PageSize;
+  FileHeaderPHDR.Header.p_align = Target->getPageSize();
 
   for (OutputSectionBase<ELFT::Is64Bits> *Sec : OutputSections) {
     Out<ELFT>::StrTab->add(Sec->getName());
@@ -512,8 +510,8 @@ template <class ELFT> void Writer<ELFT>:
         }
 
         if (needsPHDR<ELFT>(Sec)) {
-          VA = RoundUpToAlignment(VA, PageSize);
-          FileOff = RoundUpToAlignment(FileOff, PageSize);
+          VA = RoundUpToAlignment(VA, Target->getPageSize());
+          FileOff = RoundUpToAlignment(FileOff, Target->getPageSize());
           PHDRs.push_back(new (PAlloc)
                               ProgramHeader<ELFT>(PT_LOAD, Flags, FileOff, VA));
         }
@@ -579,7 +577,7 @@ template <class ELFT> void Writer<ELFT>:
   EHdr->e_shstrndx = Out<ELFT>::StrTab->getSectionIndex();
 
   // If nothing was merged into the file header PT_LOAD, set the size correctly.
-  if (FileHeaderPHDR.Header.p_filesz == PageSize) {
+  if (FileHeaderPHDR.Header.p_filesz == Target->getPageSize()) {
     uint64_t Size = sizeof(Elf_Ehdr) + sizeof(Elf_Phdr) * PHDRs.size();
     FileHeaderPHDR.Header.p_filesz = Size;
     FileHeaderPHDR.Header.p_memsz = Size;

Modified: lld/trunk/test/elf2/basic-mips.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic-mips.s?rev=249760&r1=249759&r2=249760&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic-mips.s (original)
+++ lld/trunk/test/elf2/basic-mips.s Thu Oct  8 17:23:54 2015
@@ -25,9 +25,9 @@ __start:
 # CHECK-NEXT:   Type: Executable (0x2)
 # CHECK-NEXT:   Machine: EM_MIPS (0x8)
 # CHECK-NEXT:   Version: 1
-# CHECK-NEXT:   Entry: 0x402000
+# CHECK-NEXT:   Entry: 0x420000
 # CHECK-NEXT:   ProgramHeaderOffset: 0x34
-# CHECK-NEXT:   SectionHeaderOffset: 0x2074
+# CHECK-NEXT:   SectionHeaderOffset: 0x20074
 # CHECK-NEXT:   Flags [ (0x0)
 # CHECK-NEXT:   ]
 # CHECK-NEXT:   HeaderSize: 52
@@ -59,7 +59,7 @@ __start:
 # CHECK-NEXT:     Flags [ (0x2)
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x401000
+# CHECK-NEXT:     Address: 0x410000
 # CHECK-NEXT:     Offset: 0x1000
 # CHECK-NEXT:     Size: 24
 # CHECK-NEXT:     Link: 0
@@ -74,8 +74,8 @@ __start:
 # CHECK-NEXT:     Flags [ (0x2)
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x401018
-# CHECK-NEXT:     Offset: 0x1018
+# CHECK-NEXT:     Address: 0x410018
+# CHECK-NEXT:     Offset: 0x10018
 # CHECK-NEXT:     Size: 24
 # CHECK-NEXT:     Link: 0
 # CHECK-NEXT:     Info: 0
@@ -90,7 +90,7 @@ __start:
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:       SHF_EXECINSTR (0x4)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x402000
+# CHECK-NEXT:     Address: 0x420000
 # CHECK-NEXT:     Offset: 0x2000
 # CHECK-NEXT:     Size: 12
 # CHECK-NEXT:     Link: 0
@@ -106,8 +106,8 @@ __start:
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:       SHF_WRITE (0x1)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x402010
-# CHECK-NEXT:     Offset: 0x2010
+# CHECK-NEXT:     Address: 0x420010
+# CHECK-NEXT:     Offset: 0x20010
 # CHECK-NEXT:     Size: 0
 # CHECK-NEXT:     Link: 0
 # CHECK-NEXT:     Info: 0
@@ -122,8 +122,8 @@ __start:
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:       SHF_WRITE (0x1)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x402010
-# CHECK-NEXT:     Offset: 0x2010
+# CHECK-NEXT:     Address: 0x420010
+# CHECK-NEXT:     Offset: 0x20010
 # CHECK-NEXT:     Size: 0
 # CHECK-NEXT:     Link: 0
 # CHECK-NEXT:     Info: 0
@@ -137,7 +137,7 @@ __start:
 # CHECK-NEXT:     Flags [ (0x0)
 # CHECK-NEXT:     ]
 # CHECK-NEXT:     Address: 0x0
-# CHECK-NEXT:     Offset: 0x2010
+# CHECK-NEXT:     Offset: 0x20010
 # CHECK-NEXT:     Size: 32
 # CHECK-NEXT:     Link: 7
 # CHECK-NEXT:     Info: 1
@@ -151,7 +151,7 @@ __start:
 # CHECK-NEXT:     Flags [ (0x0)
 # CHECK-NEXT:     ]
 # CHECK-NEXT:     Address: 0x0
-# CHECK-NEXT:     Offset: 0x2030
+# CHECK-NEXT:     Offset: 0x20030
 # CHECK-NEXT:     Size: 66
 # CHECK-NEXT:     Link: 0
 # CHECK-NEXT:     Info: 0
@@ -171,7 +171,7 @@ __start:
 # CHECK-NEXT:   }
 # CHECK-NEXT:   Symbol {
 # CHECK-NEXT:     Name: __start (7)
-# CHECK-NEXT:     Value: 0x402000
+# CHECK-NEXT:     Value: 0x420000
 # CHECK-NEXT:     Size: 0
 # CHECK-NEXT:     Binding: Global (0x1)
 # CHECK-NEXT:     Type: None (0x0)
@@ -185,24 +185,24 @@ __start:
 # CHECK-NEXT:     Offset: 0x0
 # CHECK-NEXT:     VirtualAddress: 0x400000
 # CHECK-NEXT:     PhysicalAddress: 0x400000
-# CHECK-NEXT:     FileSize: 4144
-# CHECK-NEXT:     MemSize: 4144
+# CHECK-NEXT:     FileSize: 65584
+# CHECK-NEXT:     MemSize: 65584
 # CHECK-NEXT:     Flags [ (0x4)
 # CHECK-NEXT:       PF_R (0x4)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Alignment: 4096
+# CHECK-NEXT:     Alignment: 65536
 # CHECK-NEXT:   }
 # CHECK-NEXT:   ProgramHeader {
 # CHECK-NEXT:     Type: PT_LOAD (0x1)
 # CHECK-NEXT:     Offset: 0x2000
-# CHECK-NEXT:     VirtualAddress: 0x402000
-# CHECK-NEXT:     PhysicalAddress: 0x402000
+# CHECK-NEXT:     VirtualAddress: 0x420000
+# CHECK-NEXT:     PhysicalAddress: 0x420000
 # CHECK-NEXT:     FileSize: 16
 # CHECK-NEXT:     MemSize: 16
 # CHECK-NEXT:     Flags [ (0x5)
 # CHECK-NEXT:       PF_R (0x4)
 # CHECK-NEXT:       PF_X (0x1)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Alignment: 4096
+# CHECK-NEXT:     Alignment: 65536
 # CHECK-NEXT:   }
 # CHECK-NEXT: ]

Modified: lld/trunk/test/elf2/basic32be.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic32be.s?rev=249760&r1=249759&r2=249760&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic32be.s (original)
+++ lld/trunk/test/elf2/basic32be.s Thu Oct  8 17:23:54 2015
@@ -23,9 +23,9 @@ _start:
 # CHECK-NEXT:   Type: Executable (0x2)
 # CHECK-NEXT:   Machine: EM_PPC (0x14)
 # CHECK-NEXT:   Version: 1
-# CHECK-NEXT:   Entry: 0x10001000
+# CHECK-NEXT:   Entry: 0x10010000
 # CHECK-NEXT:   ProgramHeaderOffset: 0x34
-# CHECK-NEXT:   SectionHeaderOffset: 0x1058
+# CHECK-NEXT:   SectionHeaderOffset: 0x10058
 # CHECK-NEXT:   Flags [ (0x0)
 # CHECK-NEXT:   ]
 # CHECK-NEXT:   HeaderSize: 52
@@ -58,7 +58,7 @@ _start:
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:       SHF_EXECINSTR (0x4)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x10001000
+# CHECK-NEXT:     Address: 0x10010000
 # CHECK-NEXT:     Offset: 0x1000
 # CHECK-NEXT:     Size: 12
 # CHECK-NEXT:     Link: 0
@@ -74,8 +74,8 @@ _start:
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:       SHF_WRITE (0x1)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x1000100C
-# CHECK-NEXT:     Offset: 0x100C
+# CHECK-NEXT:     Address: 0x1001000C
+# CHECK-NEXT:     Offset: 0x1000C
 # CHECK-NEXT:     Size: 0
 # CHECK-NEXT:     Link: 0
 # CHECK-NEXT:     Info: 0
@@ -90,8 +90,8 @@ _start:
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:       SHF_WRITE (0x1)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x1000100C
-# CHECK-NEXT:     Offset: 0x100C
+# CHECK-NEXT:     Address: 0x1001000C
+# CHECK-NEXT:     Offset: 0x1000C
 # CHECK-NEXT:     Size: 0
 # CHECK-NEXT:     Link: 0
 # CHECK-NEXT:     Info: 0
@@ -105,7 +105,7 @@ _start:
 # CHECK-NEXT:     Flags [
 # CHECK-NEXT:     ]
 # CHECK-NEXT:     Address: 0x0
-# CHECK-NEXT:     Offset: 0x100C
+# CHECK-NEXT:     Offset: 0x1000C
 # CHECK-NEXT:     Size: 32
 # CHECK-NEXT:     Link: 5
 # CHECK-NEXT:     Info: 1
@@ -119,7 +119,7 @@ _start:
 # CHECK-NEXT:     Flags [ (0x0)
 # CHECK-NEXT:     ]
 # CHECK-NEXT:     Address: 0x0
-# CHECK-NEXT:     Offset: 0x102C
+# CHECK-NEXT:     Offset: 0x1002C
 # CHECK-NEXT:     Size: 41
 # CHECK-NEXT:     Link: 0
 # CHECK-NEXT:     Info: 0
@@ -138,19 +138,19 @@ _start:
 # CHECK-NEXT:     Flags [
 # CHECK-NEXT:       PF_R
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Alignment: 4096
+# CHECK-NEXT:     Alignment: 65536
 # CHECK-NEXT:   }
 # CHECK-NEXT:   ProgramHeader {
 # CHECK-NEXT:     Type: PT_LOAD (0x1)
 # CHECK-NEXT:     Offset: 0x1000
-# CHECK-NEXT:     VirtualAddress: 0x10001000
-# CHECK-NEXT:     PhysicalAddress: 0x10001000
+# CHECK-NEXT:     VirtualAddress: 0x10010000
+# CHECK-NEXT:     PhysicalAddress: 0x10010000
 # CHECK-NEXT:     FileSize: 12
 # CHECK-NEXT:     MemSize: 12
 # CHECK-NEXT:     Flags [ (0x5)
 # CHECK-NEXT:       PF_R (0x4)
 # CHECK-NEXT:       PF_X (0x1)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Alignment: 4096
+# CHECK-NEXT:     Alignment: 65536
 # CHECK-NEXT:   }
 # CHECK-NEXT: ]

Modified: lld/trunk/test/elf2/basic64be.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/basic64be.s?rev=249760&r1=249759&r2=249760&view=diff
==============================================================================
--- lld/trunk/test/elf2/basic64be.s (original)
+++ lld/trunk/test/elf2/basic64be.s Thu Oct  8 17:23:54 2015
@@ -28,9 +28,9 @@ _start:
 # CHECK-NEXT:   Type: Executable (0x2)
 # CHECK-NEXT:   Machine: EM_PPC64 (0x15)
 # CHECK-NEXT:   Version: 1
-# CHECK-NEXT:   Entry: 0x10002000
+# CHECK-NEXT:   Entry: 0x10020000
 # CHECK-NEXT:   ProgramHeaderOffset: 0x40
-# CHECK-NEXT:   SectionHeaderOffset: 0x2078
+# CHECK-NEXT:   SectionHeaderOffset: 0x20078
 # CHECK-NEXT:   Flags [ (0x0)
 # CHECK-NEXT:   ]
 # CHECK-NEXT:   HeaderSize: 64
@@ -65,7 +65,7 @@ _start:
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:       SHF_EXECINSTR (0x4)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x10001000
+# CHECK-NEXT:     Address: 0x10010000
 # CHECK-NEXT:     Offset: 0x1000
 # CHECK-NEXT:     Size: 12
 # CHECK-NEXT:     Link: 0
@@ -83,8 +83,8 @@ _start:
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:       SHF_WRITE (0x1)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x1000100C
-# CHECK-NEXT:     Offset: 0x100C
+# CHECK-NEXT:     Address: 0x1001000C
+# CHECK-NEXT:     Offset: 0x1000C
 # CHECK-NEXT:     Size: 0
 # CHECK-NEXT:     Link: 0
 # CHECK-NEXT:     Info: 0
@@ -101,7 +101,7 @@ _start:
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:       SHF_WRITE (0x1)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x10002000
+# CHECK-NEXT:     Address: 0x10020000
 # CHECK-NEXT:     Offset: 0x2000
 # CHECK-NEXT:     Size: 24
 # CHECK-NEXT:     Link: 0
@@ -109,7 +109,7 @@ _start:
 # CHECK-NEXT:     AddressAlignment: 1
 # CHECK-NEXT:     EntrySize: 0
 # CHECK-NEXT:     SectionData (
-# CHECK-NEXT:      0000: 00000000 10001000 00000000 00000000  |................|
+# CHECK-NEXT:      0000: 00000000 10010000 00000000 00000000  |................|
 # CHECK-NEXT:      0010: 00000000 00000000                    |........|
 # CHECK-NEXT:     )
 # CHECK-NEXT:   }
@@ -121,8 +121,8 @@ _start:
 # CHECK-NEXT:       SHF_ALLOC (0x2)
 # CHECK-NEXT:       SHF_WRITE (0x1)
 # CHECK-NEXT:     ]
-# CHECK-NEXT:     Address: 0x10002018
-# CHECK-NEXT:     Offset: 0x2018
+# CHECK-NEXT:     Address: 0x10020018
+# CHECK-NEXT:     Offset: 0x20018
 # CHECK-NEXT:     Size: 0
 # CHECK-NEXT:     Link: 0
 # CHECK-NEXT:     Info: 0
@@ -136,7 +136,7 @@ _start:
 # CHECK-NEXT:     Flags [
 # CHECK-NEXT:     ]
 # CHECK-NEXT:     Address: 0x0
-# CHECK-NEXT:     Offset: 0x2018
+# CHECK-NEXT:     Offset: 0x20018
 # CHECK-NEXT:     Size: 48
 # CHECK-NEXT:     Link: 6
 # CHECK-NEXT:     Info: 1
@@ -152,7 +152,7 @@ _start:
 # CHECK-NEXT:     Flags [ (0x0)
 # CHECK-NEXT:     ]
 # CHECK-NEXT:     Address: 0x0
-# CHECK-NEXT:     Offset: 0x2048
+# CHECK-NEXT:     Offset: 0x20048
 # CHECK-NEXT:     Size: 46
 # CHECK-NEXT:     Link: 0
 # CHECK-NEXT:     Info: 0
@@ -173,32 +173,32 @@ _start:
 # CHECK-NEXT:    Flags [
 # CHECK-NEXT:      PF_R
 # CHECK-NEXT:    ]
-# CHECK-NEXT:    Alignment: 4096
+# CHECK-NEXT:    Alignment: 65536
 # CHECK-NEXT:  }
 # CHECK-NEXT:  ProgramHeader {
 # CHECK-NEXT:    Type: PT_LOAD (0x1)
 # CHECK-NEXT:    Offset: 0x1000
-# CHECK-NEXT:    VirtualAddress: 0x10001000
-# CHECK-NEXT:    PhysicalAddress: 0x10001000
+# CHECK-NEXT:    VirtualAddress: 0x10010000
+# CHECK-NEXT:    PhysicalAddress: 0x10010000
 # CHECK-NEXT:    FileSize: 12
 # CHECK-NEXT:    MemSize: 12
 # CHECK-NEXT:    Flags [ (0x5)
 # CHECK-NEXT:      PF_R (0x4)
 # CHECK-NEXT:      PF_X (0x1)
 # CHECK-NEXT:    ]
-# CHECK-NEXT:    Alignment: 4096
+# CHECK-NEXT:    Alignment: 65536
 # CHECK-NEXT:  }
 # CHECK-NEXT:  ProgramHeader {
 # CHECK-NEXT:    Type: PT_LOAD (0x1)
 # CHECK-NEXT:    Offset: 0x2000
-# CHECK-NEXT:    VirtualAddress: 0x10002000
-# CHECK-NEXT:    PhysicalAddress: 0x10002000
+# CHECK-NEXT:    VirtualAddress: 0x10020000
+# CHECK-NEXT:    PhysicalAddress: 0x10020000
 # CHECK-NEXT:    FileSize: 24
 # CHECK-NEXT:    MemSize: 24
 # CHECK-NEXT:    Flags [ (0x6)
 # CHECK-NEXT:      PF_R (0x4)
 # CHECK-NEXT:      PF_W (0x2)
 # CHECK-NEXT:    ]
-# CHECK-NEXT:    Alignment: 4096
+# CHECK-NEXT:    Alignment: 65536
 # CHECK-NEXT:  }
 # CHECK-NEXT:]

Modified: lld/trunk/test/elf2/emulation.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf2/emulation.s?rev=249760&r1=249759&r2=249760&view=diff
==============================================================================
--- lld/trunk/test/elf2/emulation.s (original)
+++ lld/trunk/test/elf2/emulation.s Thu Oct  8 17:23:54 2015
@@ -78,9 +78,9 @@
 # PPC64-NEXT:   Type: Executable (0x2)
 # PPC64-NEXT:   Machine: EM_PPC64 (0x15)
 # PPC64-NEXT:   Version: 1
-# PPC64-NEXT:   Entry: 0x10001000
+# PPC64-NEXT:   Entry: 0x10010000
 # PPC64-NEXT:   ProgramHeaderOffset: 0x40
-# PPC64-NEXT:   SectionHeaderOffset: 0x1060
+# PPC64-NEXT:   SectionHeaderOffset: 0x10060
 # PPC64-NEXT:   Flags [ (0x0)
 # PPC64-NEXT:   ]
 # PPC64-NEXT:   HeaderSize: 64
@@ -109,9 +109,9 @@
 # PPC-NEXT:   Type: Executable (0x2)
 # PPC-NEXT:   Machine: EM_PPC (0x14)
 # PPC-NEXT:   Version: 1
-# PPC-NEXT:   Entry: 0x10001000
+# PPC-NEXT:   Entry: 0x10010000
 # PPC-NEXT:   ProgramHeaderOffset: 0x34
-# PPC-NEXT:   SectionHeaderOffset: 0x104C
+# PPC-NEXT:   SectionHeaderOffset: 0x1004C
 # PPC-NEXT:   Flags [ (0x0)
 # PPC-NEXT:   ]
 # PPC-NEXT:   HeaderSize: 52
@@ -140,9 +140,9 @@
 # MIPS-NEXT:   Type: Executable (0x2)
 # MIPS-NEXT:   Machine: EM_MIPS (0x8)
 # MIPS-NEXT:   Version: 1
-# MIPS-NEXT:   Entry: 0x401030
+# MIPS-NEXT:   Entry: 0x410030
 # MIPS-NEXT:   ProgramHeaderOffset: 0x34
-# MIPS-NEXT:   SectionHeaderOffset: 0x1094
+# MIPS-NEXT:   SectionHeaderOffset: 0x10094
 # MIPS-NEXT:   Flags [ (0x0)
 # MIPS-NEXT:   ]
 
@@ -164,9 +164,9 @@
 # MIPSEL-NEXT:   Type: Executable (0x2)
 # MIPSEL-NEXT:   Machine: EM_MIPS (0x8)
 # MIPSEL-NEXT:   Version: 1
-# MIPSEL-NEXT:   Entry: 0x401030
+# MIPSEL-NEXT:   Entry: 0x410030
 # MIPSEL-NEXT:   ProgramHeaderOffset: 0x34
-# MIPSEL-NEXT:   SectionHeaderOffset: 0x1094
+# MIPSEL-NEXT:   SectionHeaderOffset: 0x10094
 # MIPSEL-NEXT:   Flags [ (0x0)
 # MIPSEL-NEXT:   ]
 




More information about the llvm-commits mailing list