Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[llvm-objdump] Add support for the PT_OPENBSD_NOBTCFI segment type. #67127

Merged
merged 1 commit into from
Sep 22, 2023
Merged

[llvm-objdump] Add support for the PT_OPENBSD_NOBTCFI segment type. #67127

merged 1 commit into from
Sep 22, 2023

Conversation

fcambus
Copy link
Member

@fcambus fcambus commented Sep 22, 2023

@llvmbot
Copy link
Collaborator

llvmbot commented Sep 22, 2023

@llvm/pr-subscribers-llvm-binary-utilities

Changes

Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h


Full diff: https://github.com/llvm/llvm-project/pull/67127.diff

2 Files Affected:

  • (modified) llvm/test/tools/llvm-objdump/openbsd-headers.test (+3)
  • (modified) llvm/tools/llvm-objdump/ELFDump.cpp (+3)
diff --git a/llvm/test/tools/llvm-objdump/openbsd-headers.test b/llvm/test/tools/llvm-objdump/openbsd-headers.test
index 3ac902c1aaffedb..f547854feeeedfe 100644
--- a/llvm/test/tools/llvm-objdump/openbsd-headers.test
+++ b/llvm/test/tools/llvm-objdump/openbsd-headers.test
@@ -9,6 +9,8 @@
 # CHECK-NEXT:      filesz 0x0000000000000000 memsz 0x0000000000000000 flags ---
 # CHECK-NEXT: OPENBSD_WXNEEDED off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**0
 # CHECK-NEXT:      filesz 0x0000000000000000 memsz 0x0000000000000000 flags ---
+# CHECK-NEXT: OPENBSD_NOBTCFI off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**0
+# CHECK-NEXT:      filesz 0x0000000000000000 memsz 0x0000000000000000 flags ---
 # CHECK-NEXT: OPENBSD_BOOTDATA off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**0
 # CHECK-NEXT:      filesz 0x0000000000000000 memsz 0x0000000000000000 flags ---
 
@@ -22,4 +24,5 @@ ProgramHeaders:
   - Type: 0x65a3dbe5 ## PT_OPENBSD_MUTABLE
   - Type: 0x65a3dbe6 ## PT_OPENBSD_RANDOMIZE
   - Type: 0x65a3dbe7 ## PT_OPENBSD_WXNEEDED
+  - Type: 0x65a3dbe8 ## PT_OPENBSD_NOBTCFI
   - Type: 0x65a41be6 ## PT_OPENBSD_BOOTDATA
diff --git a/llvm/tools/llvm-objdump/ELFDump.cpp b/llvm/tools/llvm-objdump/ELFDump.cpp
index 0920bb3cde50a4a..299a7e3cf3fa523 100644
--- a/llvm/tools/llvm-objdump/ELFDump.cpp
+++ b/llvm/tools/llvm-objdump/ELFDump.cpp
@@ -283,6 +283,9 @@ template <class ELFT> void ELFDumper<ELFT>::printProgramHeaders() {
     case ELF::PT_OPENBSD_MUTABLE:
       outs() << "OPENBSD_MUTABLE ";
       break;
+    case ELF::PT_OPENBSD_NOBTCFI:
+      outs() << "OPENBSD_NOBTCFI ";
+      break;
     case ELF::PT_OPENBSD_RANDOMIZE:
       outs() << "OPENBSD_RANDOMIZE ";
       break;

Copy link
Collaborator

@jh7370 jh7370 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

llvm-objdump change LGTM.

Could you add this to llvm-readobj/llvm-readelf too, please? It can be a separate PR.

@fcambus fcambus merged commit a921f2a into llvm:main Sep 22, 2023
4 checks passed
@fcambus
Copy link
Member Author

fcambus commented Sep 22, 2023

Sure thing regarding llvm-readobj/llvm-readelf, I will open a new PR when it's ready.

Thanks for the review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants