summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Object/ELF.h6
-rw-r--r--test/Object/Inputs/program-headers.elf-x86-64bin0 -> 1108 bytes
-rw-r--r--test/Object/objdump-private-headers.test10
3 files changed, 13 insertions, 3 deletions
diff --git a/include/llvm/Object/ELF.h b/include/llvm/Object/ELF.h
index 37cefd8478..46b62de19e 100644
--- a/include/llvm/Object/ELF.h
+++ b/include/llvm/Object/ELF.h
@@ -464,9 +464,9 @@ struct Elf_Phdr_Impl<target_endianness, max_alignment, true> {
Elf_Off p_offset; // FileOffset where segment is located, in bytes
Elf_Addr p_vaddr; // Virtual Address of beginning of segment
Elf_Addr p_paddr; // Physical address of beginning of segment (OS-specific)
- Elf_Word p_filesz; // Num. of bytes in file image of segment (may be zero)
- Elf_Word p_memsz; // Num. of bytes in mem image of segment (may be zero)
- Elf_Word p_align; // Segment alignment constraint
+ Elf_Xword p_filesz; // Num. of bytes in file image of segment (may be zero)
+ Elf_Xword p_memsz; // Num. of bytes in mem image of segment (may be zero)
+ Elf_Xword p_align; // Segment alignment constraint
};
template<endianness target_endianness, std::size_t max_alignment, bool is64Bits>
diff --git a/test/Object/Inputs/program-headers.elf-x86-64 b/test/Object/Inputs/program-headers.elf-x86-64
new file mode 100644
index 0000000000..037bf14866
--- /dev/null
+++ b/test/Object/Inputs/program-headers.elf-x86-64
Binary files differ
diff --git a/test/Object/objdump-private-headers.test b/test/Object/objdump-private-headers.test
index e54d3eba5d..c562044b3c 100644
--- a/test/Object/objdump-private-headers.test
+++ b/test/Object/objdump-private-headers.test
@@ -1,8 +1,18 @@
RUN: llvm-objdump -p %p/Inputs/program-headers.elf-i386 \
RUN: | FileCheck %s -check-prefix ELF-i386
+RUN: llvm-objdump -p %p/Inputs/program-headers.elf-x86-64 \
+RUN: | FileCheck %s -check-prefix ELF-x86-64
ELF-i386: Program Header:
ELF-i386: LOAD off 0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
ELF-i386: filesz 0x00000134 memsz 0x00000134 flags r-x
ELF-i386: STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
ELF-i386: filesz 0x00000000 memsz 0x00000000 flags rw-
+
+ELF-x86-64: Program Header:
+ELF-x86-64: LOAD off 0x0000000000000000 vaddr 0x0000000000400000 paddr 0x0000000000400000 align 2**21
+ELF-x86-64: filesz 0x0000000000000138 memsz 0x0000000000000138 flags r-x
+ELF-x86-64: EH_FRAME off 0x00000000000000f4 vaddr 0x00000000004000f4 paddr 0x00000000004000f4 align 2**2
+ELF-x86-64: filesz 0x0000000000000014 memsz 0x0000000000000014 flags r--
+ELF-x86-64: STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
+ELF-x86-64: filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-