aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2019-10-12 19:41:50 +0000
committerIain Sandoe <iains@gcc.gnu.org>2019-10-12 19:41:50 +0000
commitc89d7d19a2aa333684e5bf744ae3b813c6054d63 (patch)
treef7e3a9fbf75e71b2768e3dc87a3e9d3934a3e236 /gcc/fortran/expr.c
parent1aea083d4bfb7538499eae0271dae740e7efa240 (diff)
downloadgcc-c89d7d19a2aa333684e5bf744ae3b813c6054d63.zip
gcc-c89d7d19a2aa333684e5bf744ae3b813c6054d63.tar.gz
gcc-c89d7d19a2aa333684e5bf744ae3b813c6054d63.tar.bz2
[Darwin, machopic 6/n] Fix for 67183
When we're using the LLVM-based assembler (the default on modern Darwin) the ordering of stubs and non-lazy symbol pointers is important. Interleaving the output (current GCC behaviour) leads to crashes which prevents us from building code with symbol stubs. To resolve this, we order the output of stubs and symbol indirections: 1. Any indirections in the data section 2. Symbol stubs. 3. Non-lazy symbol pointers. At present, we still emit LTO sections after these. gcc/ChangeLog: 2019-10-12 Iain Sandoe <iain@sandoe.co.uk> PR target/67183 * config/darwin.c (machopic_indirection): New field to flag non-lazy-symbol-pointers in the data section. (machopic_indirection_name): Compute if an indirection should appear in the data section. (machopic_output_data_section_indirection): New callback split from machopic_output_indirection. (machopic_output_stub_indirection): Likewise. (machopic_output_indirection): Retain the code for non-lazy symbol pointers in their regular section. (machopic_finish): Use the new callbacks to order the indirection output. From-SVN: r276926
Diffstat (limited to 'gcc/fortran/expr.c')
0 files changed, 0 insertions, 0 deletions