@@ -987,6 +987,11 @@ pub struct TargetOptions {
987987 /// Whether to use legacy .ctors initialization hooks rather than .init_array. Defaults
988988 /// to false (uses .init_array).
989989 pub use_ctors_section : bool ,
990+
991+ /// Whether the linker is instructed to add a `GNU_EH_FRAME` ELF header
992+ /// used to locate unwinding information is passed
993+ /// (only has effect if the linker is `ld`-like).
994+ pub eh_frame_header : bool ,
990995}
991996
992997impl Default for TargetOptions {
@@ -1078,6 +1083,7 @@ impl Default for TargetOptions {
10781083 relax_elf_relocations : false ,
10791084 llvm_args : vec ! [ ] ,
10801085 use_ctors_section : false ,
1086+ eh_frame_header : true ,
10811087 }
10821088 }
10831089}
@@ -1470,6 +1476,7 @@ impl Target {
14701476 key ! ( relax_elf_relocations, bool ) ;
14711477 key ! ( llvm_args, list) ;
14721478 key ! ( use_ctors_section, bool ) ;
1479+ key ! ( eh_frame_header, bool ) ;
14731480
14741481 // NB: The old name is deprecated, but support for it is retained for
14751482 // compatibility.
@@ -1707,6 +1714,7 @@ impl ToJson for Target {
17071714 target_option_val ! ( relax_elf_relocations) ;
17081715 target_option_val ! ( llvm_args) ;
17091716 target_option_val ! ( use_ctors_section) ;
1717+ target_option_val ! ( eh_frame_header) ;
17101718
17111719 if default. unsupported_abis != self . options . unsupported_abis {
17121720 d. insert (
0 commit comments