[ELF] Set p_memsz to p_filesz when aligning the last segment to page boundary
Having p_filesz different from p_memsz is confusing some tools. Differential Revision: https://reviews.llvm.org/D37369 llvm-svn: 312384
This commit is contained in:
parent
75075efe5e
commit
7ab9f7be0c
|
@ -1931,7 +1931,8 @@ template <class ELFT> void Writer<ELFT>::writeTrapInstr() {
|
|||
LastRX = nullptr;
|
||||
}
|
||||
if (LastRX)
|
||||
LastRX->p_filesz = alignTo(LastRX->p_filesz, Target->PageSize);
|
||||
LastRX->p_memsz = LastRX->p_filesz =
|
||||
alignTo(LastRX->p_filesz, Target->PageSize);
|
||||
}
|
||||
|
||||
// Write section contents to a mmap'ed file.
|
||||
|
|
|
@ -43,7 +43,7 @@ _start:
|
|||
// CHECK-NEXT: VirtualAddress: 0x201000
|
||||
// CHECK-NEXT: PhysicalAddress: 0x201000
|
||||
// CHECK-NEXT: FileSize: 4096
|
||||
// CHECK-NEXT: MemSize: 1
|
||||
// CHECK-NEXT: MemSize: 4096
|
||||
// CHECK-NEXT: Flags [ (0x5)
|
||||
// CHECK-NEXT: PF_R (0x4)
|
||||
// CHECK-NEXT: PF_X (0x1)
|
||||
|
|
|
@ -186,7 +186,7 @@ _start:
|
|||
# CHECK-NEXT: VirtualAddress: 0x20000
|
||||
# CHECK-NEXT: PhysicalAddress: 0x20000
|
||||
# CHECK-NEXT: FileSize: 4096
|
||||
# CHECK-NEXT: MemSize: 12
|
||||
# CHECK-NEXT: MemSize: 4096
|
||||
# CHECK-NEXT: Flags [ (0x5)
|
||||
# CHECK-NEXT: PF_R (0x4)
|
||||
# CHECK-NEXT: PF_X (0x1)
|
||||
|
|
|
@ -177,7 +177,7 @@ _start:
|
|||
# CHECK-NEXT: VirtualAddress: 0x200000
|
||||
# CHECK-NEXT: PhysicalAddress: 0x200000
|
||||
# CHECK-NEXT: FileSize: 8192
|
||||
# CHECK-NEXT: MemSize: 12
|
||||
# CHECK-NEXT: MemSize: 8192
|
||||
# CHECK-NEXT: Flags [ (0x5)
|
||||
# CHECK-NEXT: PF_R (0x4)
|
||||
# CHECK-NEXT: PF_X (0x1)
|
||||
|
|
|
@ -179,7 +179,7 @@ _start:
|
|||
# CHECK-NEXT: VirtualAddress: 0x201000
|
||||
# CHECK-NEXT: PhysicalAddress: 0x201000
|
||||
# CHECK-NEXT: FileSize: 4096
|
||||
# CHECK-NEXT: MemSize: 16
|
||||
# CHECK-NEXT: MemSize: 4096
|
||||
# CHECK-NEXT: Flags [ (0x5)
|
||||
# CHECK-NEXT: PF_R (0x4)
|
||||
# CHECK-NEXT: PF_X (0x1)
|
||||
|
|
|
@ -156,7 +156,7 @@ _start:
|
|||
# CHECK-NEXT: VirtualAddress: 0x11000
|
||||
# CHECK-NEXT: PhysicalAddress: 0x11000
|
||||
# CHECK-NEXT: FileSize: 4096
|
||||
# CHECK-NEXT: MemSize: 12
|
||||
# CHECK-NEXT: MemSize: 4096
|
||||
# CHECK-NEXT: Flags [ (0x5)
|
||||
# CHECK-NEXT: PF_R (0x4)
|
||||
# CHECK-NEXT: PF_X (0x1)
|
||||
|
|
|
@ -48,15 +48,15 @@ _start:
|
|||
# DEFAULT: Contents of section .note.test:
|
||||
# DEFAULT: Contents of section .note.gnu.build-id:
|
||||
# DEFAULT-NEXT: 04000000 08000000 03000000 474e5500 ............GNU.
|
||||
# DEFAULT-NEXT: b0148597 ba5eb7e9
|
||||
# DEFAULT-NEXT: bc208f98 7f8e4770
|
||||
|
||||
# MD5: Contents of section .note.gnu.build-id:
|
||||
# MD5-NEXT: 04000000 10000000 03000000 474e5500 ............GNU.
|
||||
# MD5-NEXT: dce3bcaf 5219454c e89a1fc7 86ab17bd
|
||||
# MD5-NEXT: 8e13f077 f9c94068 9d63c715 6c952cd3
|
||||
|
||||
# SHA1: Contents of section .note.gnu.build-id:
|
||||
# SHA1-NEXT: 04000000 14000000 03000000 474e5500 ............GNU.
|
||||
# SHA1-NEXT: 2f716666 fe3668fe 370a02a1 579c3eb2
|
||||
# SHA1-NEXT: 754ac1ea 0a2e5144 0f4642b9 3f096bbb
|
||||
|
||||
# UUID: Contents of section .note.gnu.build-id:
|
||||
# UUID-NEXT: 04000000 10000000 03000000 474e5500 ............GNU.
|
||||
|
|
|
@ -45,7 +45,7 @@ _start:
|
|||
# CHECK-NEXT: VirtualAddress: 0x1001000
|
||||
# CHECK-NEXT: PhysicalAddress: 0x1001000
|
||||
# CHECK-NEXT: FileSize: 4096
|
||||
# CHECK-NEXT: MemSize: 1
|
||||
# CHECK-NEXT: MemSize: 4096
|
||||
# CHECK-NEXT: Flags [ (0x5)
|
||||
# CHECK-NEXT: PF_R (0x4)
|
||||
# CHECK-NEXT: PF_X (0x1)
|
||||
|
|
Loading…
Reference in New Issue