[PATCH] D51961: [objcopy] make objcopy follow program header standards
Armando Montanez via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 11 17:58:01 PDT 2018
amontanez updated this revision to Diff 165003.
amontanez added a comment.
Now using llvm-readobj instead of llvm-readelf for test, updated patch to use Ehdr.e_phnum instead of calling size() repeatedly.
https://reviews.llvm.org/D51961
Files:
llvm/test/tools/llvm-objcopy/relocatable-phdr.test
llvm/tools/llvm-objcopy/Object.cpp
Index: llvm/tools/llvm-objcopy/Object.cpp
===================================================================
--- llvm/tools/llvm-objcopy/Object.cpp
+++ llvm/tools/llvm-objcopy/Object.cpp
@@ -1050,8 +1050,8 @@
Ehdr.e_version = Obj.Version;
Ehdr.e_entry = Obj.Entry;
Ehdr.e_phnum = size(Obj.segments());
- Ehdr.e_phoff = (size(Obj.segments()) != 0) ? Obj.ProgramHdrSegment.Offset : 0;
- Ehdr.e_phentsize = (size(Obj.segments()) != 0) ? sizeof(Elf_Phdr) : 0;
+ Ehdr.e_phoff = (Ehdr.e_phnum != 0) ? Obj.ProgramHdrSegment.Offset : 0;
+ Ehdr.e_phentsize = (Ehdr.e_phnum != 0) ? sizeof(Elf_Phdr) : 0;
Ehdr.e_flags = Obj.Flags;
Ehdr.e_ehsize = sizeof(Elf_Ehdr);
Ehdr.e_shentsize = sizeof(Elf_Shdr);
Index: llvm/test/tools/llvm-objcopy/relocatable-phdr.test
===================================================================
--- llvm/test/tools/llvm-objcopy/relocatable-phdr.test
+++ llvm/test/tools/llvm-objcopy/relocatable-phdr.test
@@ -2,15 +2,15 @@
# for offset and header size when copied with llvm-objcopy.
# RUN: yaml2obj %s > %t
# RUN: llvm-objcopy %t %t2
-# RUN: llvm-readelf -file-headers %t2 | FileCheck %s
+# RUN: llvm-readobj -file-headers %t2 | FileCheck %s
!ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_X86_64
-# CHECK: Start of program headers: 0 (bytes into file)
-# CHECK: Size of program headers: 0 (bytes)
-# CHECK-NEXT:Number of program headers: 0
+# CHECK: ProgramHeaderOffset: 0x0
+# CHECK: ProgramHeaderEntrySize: 0
+# CHECK-NEXT:ProgramHeaderCount: 0
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51961.165003.patch
Type: text/x-patch
Size: 1628 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180912/db8e8520/attachment.bin>
More information about the llvm-commits
mailing list