]> git.ipfire.org Git - thirdparty/gcc.git/commit
Darwin: Match system sections and relocs for exception tables.
authorIain Sandoe <iain@sandoe.co.uk>
Thu, 31 Aug 2023 18:20:43 +0000 (19:20 +0100)
committerIain Sandoe <iain@sandoe.co.uk>
Mon, 4 Sep 2023 10:50:35 +0000 (11:50 +0100)
commit0fe7962afc7c01488432b98b6f442b24946a490d
tree6c975c6d68ebeaa800f60d2c3eecda9c25a480c9
parent9018cd0fc6f0bdbb44e6505338af0aee5a733fa5
Darwin: Match system sections and relocs for exception tables.

System tools from Darwin10 onwards have moved the exceptions tables from
the __DATA segment to the __TEXT one.  They also revised the relocations
used for typeinfo.  While Darwin9 was not changed at the time, in fact the
tools there are equally happy with the revised scheme - and therefore at
present there seems no reason to special-case it.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
gcc/ChangeLog:

* config/darwin-sections.def (darwin_exception_section): Move to
the __TEXT segment.
* config/darwin.cc (darwin_emit_except_table_label): Align before
the exception table label.
* config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use indirect PC-
relative 4byte relocs.
gcc/config/darwin-sections.def
gcc/config/darwin.cc
gcc/config/darwin.h