From: Michael J. Spencer Date: Sun, 6 Jan 2013 03:57:11 +0000 (+0000) Subject: [Object][ELF] Fix incorrect size of members for the 64 version of Elf_Phdr_Impl. X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=95abfbe8e9567e08188ada7d29f589f08e539bd6 [Object][ELF] Fix incorrect size of members for the 64 version of Elf_Phdr_Impl. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171650 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Object/ELF.h b/include/llvm/Object/ELF.h index 37cefd8478c..46b62de19e3 100644 --- a/include/llvm/Object/ELF.h +++ b/include/llvm/Object/ELF.h @@ -464,9 +464,9 @@ struct Elf_Phdr_Impl { 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 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 00000000000..037bf14866a Binary files /dev/null and b/test/Object/Inputs/program-headers.elf-x86-64 differ diff --git a/test/Object/objdump-private-headers.test b/test/Object/objdump-private-headers.test index e54d3eba5d6..c562044b3c4 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-