Commit 8103659e by Iain Sandoe

[Darwin] Suppress emitting empty ctor/dtor sections.

Older versions of GCC emit empty .constructor/.destructor sections
whenever building for C++. In fact, these sections are only used for
kernel mode code - so don't emit them unless that's what we're
building.

gcc/ChangeLog:

2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.c (darwin_file_end): Only emit empty CTOR/DTOR
	sections when building kernel extension code.

From-SVN: r276923
parent f8d234a3
...@@ -2931,8 +2931,9 @@ darwin_file_end (void) ...@@ -2931,8 +2931,9 @@ darwin_file_end (void)
} }
machopic_finish (asm_out_file); machopic_finish (asm_out_file);
if (lang_GNU_CXX ()) if (flag_apple_kext)
{ {
/* These sections are only used for kernel code. */
switch_to_section (darwin_sections[constructor_section]); switch_to_section (darwin_sections[constructor_section]);
switch_to_section (darwin_sections[destructor_section]); switch_to_section (darwin_sections[destructor_section]);
ASM_OUTPUT_ALIGN (asm_out_file, 1); ASM_OUTPUT_ALIGN (asm_out_file, 1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment