diff options
author | Iain Sandoe <iains@gcc.gnu.org> | 2019-10-12 19:20:43 +0000 |
---|---|---|
committer | Iain Sandoe <iains@gcc.gnu.org> | 2019-10-12 19:20:43 +0000 |
commit | 8103659e35edffe864ad49ac4be3a40dae0785a0 (patch) | |
tree | 6695dec5074aa7901b830e506f8466b72ed7552b | |
parent | f8d234a38d9a58ac78fca3c543a41f845d93e1ae (diff) | |
download | gcc-8103659e35edffe864ad49ac4be3a40dae0785a0.zip gcc-8103659e35edffe864ad49ac4be3a40dae0785a0.tar.gz gcc-8103659e35edffe864ad49ac4be3a40dae0785a0.tar.bz2 |
[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
-rw-r--r-- | gcc/config/darwin.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index 539ef75..ddce9f8 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -2931,8 +2931,9 @@ darwin_file_end (void) } 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[destructor_section]); ASM_OUTPUT_ALIGN (asm_out_file, 1); |