[lld] r312010 - Add -no-eh-frame-hdr which negates -eh-frame-hdr.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 29 09:53:24 PDT 2017


Author: ruiu
Date: Tue Aug 29 09:53:24 2017
New Revision: 312010

URL: http://llvm.org/viewvc/llvm-project?rev=312010&view=rev
Log:
Add -no-eh-frame-hdr which negates -eh-frame-hdr.

Note that ld.bfd and ld.gold have the option.

Modified:
    lld/trunk/ELF/Driver.cpp
    lld/trunk/ELF/Options.td
    lld/trunk/test/ELF/eh-frame-hdr.s

Modified: lld/trunk/ELF/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Driver.cpp?rev=312010&r1=312009&r2=312010&view=diff
==============================================================================
--- lld/trunk/ELF/Driver.cpp (original)
+++ lld/trunk/ELF/Driver.cpp Tue Aug 29 09:53:24 2017
@@ -633,7 +633,8 @@ void LinkerDriver::readConfigs(opt::Inpu
   Config->DisableVerify = Args.hasArg(OPT_disable_verify);
   Config->Discard = getDiscard(Args);
   Config->DynamicLinker = getDynamicLinker(Args);
-  Config->EhFrameHdr = Args.hasArg(OPT_eh_frame_hdr);
+  Config->EhFrameHdr =
+      getArg(Args, OPT_eh_frame_hdr, OPT_no_eh_frame_hdr, false);
   Config->EmitRelocs = Args.hasArg(OPT_emit_relocs);
   Config->EnableNewDtags = !Args.hasArg(OPT_disable_new_dtags);
   Config->Entry = Args.getLastArgValue(OPT_entry);

Modified: lld/trunk/ELF/Options.td
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Options.td?rev=312010&r1=312009&r2=312010&view=diff
==============================================================================
--- lld/trunk/ELF/Options.td (original)
+++ lld/trunk/ELF/Options.td Tue Aug 29 09:53:24 2017
@@ -176,6 +176,9 @@ def no_demangle: F<"no-demangle">,
 def no_dynamic_linker: F<"no-dynamic-linker">,
   HelpText<"Inhibit output of .interp section">;
 
+def no_eh_frame_hdr: F<"no-eh-frame-hdr">,
+  HelpText<"Do not create .eh_frame_hdr section">;
+
 def no_export_dynamic: F<"no-export-dynamic">;
 def no_fatal_warnings: F<"no-fatal-warnings">;
 

Modified: lld/trunk/test/ELF/eh-frame-hdr.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/eh-frame-hdr.s?rev=312010&r1=312009&r2=312010&view=diff
==============================================================================
--- lld/trunk/test/ELF/eh-frame-hdr.s (original)
+++ lld/trunk/test/ELF/eh-frame-hdr.s Tue Aug 29 09:53:24 2017
@@ -1,9 +1,17 @@
 // REQUIRES: x86
 // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
+
 // RUN: ld.lld %t.o -o %t
-// RUN: llvm-readobj -file-headers -s -section-data -program-headers -symbols %t | FileCheck %s --check-prefix=NOHDR
+// RUN: llvm-readobj -file-headers -s -section-data -program-headers -symbols %t \
+// RUN:   | FileCheck %s --check-prefix=NOHDR
+
+// RUN: ld.lld -eh-frame-hdr -no-eh-frame-hdr %t.o -o %t
+// RUN: llvm-readobj -file-headers -s -section-data -program-headers -symbols %t \
+// RUN:   | FileCheck %s --check-prefix=NOHDR
+
 // RUN: ld.lld --eh-frame-hdr %t.o -o %t
-// RUN: llvm-readobj -file-headers -s -section-data -program-headers -symbols %t | FileCheck %s --check-prefix=HDR
+// RUN: llvm-readobj -file-headers -s -section-data -program-headers -symbols %t \
+// RUN:   | FileCheck %s --check-prefix=HDR
 // RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=HDRDISASM
 
 .section foo,"ax", at progbits




More information about the llvm-commits mailing list