From 95abfbe8e9567e08188ada7d29f589f08e539bd6 Mon Sep 17 00:00:00 2001 From: "Michael J. Spencer" Date: Sun, 6 Jan 2013 03:57:11 +0000 Subject: [PATCH] [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 --- include/llvm/Object/ELF.h | 6 +++--- test/Object/Inputs/program-headers.elf-x86-64 | Bin 0 -> 1108 bytes test/Object/objdump-private-headers.test | 10 ++++++++++ 3 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 test/Object/Inputs/program-headers.elf-x86-64 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 0000000000000000000000000000000000000000..037bf14866a12ec7f7cb7b8a7fd28d90f77c0da6 GIT binary patch literal 1108 zcmbtSu}Z{15S`6NFM>i83n3O~rG-QbkrP4EXl0@PK+Ks)nv)~hBHH*1{*#SAVt)r$ z3UOw$bGHe1AULo)^WMJM*`3|@>)RVg2w-#I3J6Ug(o{18R0|2N3_#-C16OO;w2~*z zX#BwBu?OgD;oY}NU5sWLk&kr5e%J8qNlSK*dFxI1r`hYMJ`syRUi##5{M2=QjGpU= zw+9fFFM`dU_kjZ9_i=oo&Rhi%T3Ei0R5C=bipJ+0sjN~EW_kQvB%>_O(_(>|*w(FYuXSUIo#FSe*CckE z``qRwaQ~R6dM-?B#|o4cl7C|{-eDG^jGkQD|jeXQmFH@@M%1TSObXT QVOesVrHM))&R$aZ1wx8UvH$=8 literal 0 HcmV?d00001 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- -- 2.34.1