[PATCH] D67146: [yaml2obj] Support PT_GNU_STACK and PT_GNU_RELRO
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 4 00:28:26 PDT 2019
MaskRay created this revision.
MaskRay added reviewers: grimar, jhenderson.
Herald added a reviewer: alexshap.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
I plan to use PT_GNU_RELRO in a patch to improve nested segment
processing in llvm-objcopy (PR42963).
Repository:
rL LLVM
https://reviews.llvm.org/D67146
Files:
lib/ObjectYAML/ELFYAML.cpp
test/tools/yaml2obj/program-header.yaml
Index: test/tools/yaml2obj/program-header.yaml
===================================================================
--- test/tools/yaml2obj/program-header.yaml
+++ test/tools/yaml2obj/program-header.yaml
@@ -37,6 +37,9 @@
PAddr: 0xFFFF2000
Sections:
- Section: .data
+ - Type: PT_GNU_EH_FRAME
+ - Type: PT_GNU_STACK
+ - Type: PT_GNU_RELRO
#CHECK: ProgramHeaders [
#CHECK-NEXT: ProgramHeader {
@@ -64,6 +67,15 @@
#CHECK-NEXT: ]
#CHECK-NEXT: Alignment: 4096
#CHECK-NEXT: }
+#CHECK-NEXT: ProgramHeader {
+#CHECK-NEXT: Type: PT_GNU_EH_FRAME
+#CHECK: }
+#CHECK-NEXT: ProgramHeader {
+#CHECK-NEXT: Type: PT_GNU_STACK
+#CHECK: }
+#CHECK-NEXT: ProgramHeader {
+#CHECK-NEXT: Type: PT_GNU_RELRO
+#CHECK: }
#CHECK-NEXT:]
## Check we do not allow referencing sections that do not exist.
Index: lib/ObjectYAML/ELFYAML.cpp
===================================================================
--- lib/ObjectYAML/ELFYAML.cpp
+++ lib/ObjectYAML/ELFYAML.cpp
@@ -52,6 +52,8 @@
ECase(PT_PHDR);
ECase(PT_TLS);
ECase(PT_GNU_EH_FRAME);
+ ECase(PT_GNU_STACK);
+ ECase(PT_GNU_RELRO);
#undef ECase
IO.enumFallback<Hex32>(Value);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67146.218600.patch
Type: text/x-patch
Size: 1193 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190904/c4cbf371/attachment.bin>
More information about the llvm-commits
mailing list