RISC-V/libgcc: Use `-fasynchronous-unwind-tables' for LIB2_DIVMOD_FUNCS
authorMaciej W. Rozycki <macro@wdc.com>
Tue, 29 Sep 2020 00:20:01 +0000 (01:20 +0100)
committerMaciej W. Rozycki <macro@linux-mips.org>
Tue, 29 Sep 2020 00:20:01 +0000 (01:20 +0100)
commit090d3f5ab390e74caa1f93b7d9f5074c62ba9d07
tree83e9f5f5ab2dd8e56d1b56e88ff0a43517815a06
parente84761c6f32fa6e9b7dccc4245231a7ff4d7da61
RISC-V/libgcc: Use `-fasynchronous-unwind-tables' for LIB2_DIVMOD_FUNCS

Use `-fasynchronous-unwind-tables' rather than `-fexceptions
-fnon-call-exceptions' in LIB2_DIVMOD_FUNCS compilation flags so as to
provide unwind tables for the affected functions while not pulling the
unwinder proper, which is not required here.

Beyond saving program space it fixes a RISC-V glibc build error due to
unsatisfied `malloc' and `free' references from the unwinder causing
link errors with `ld.so' where libgcc has been built at -O0.

libgcc/
* config/riscv/t-elf (LIB2_DIVMOD_EXCEPTION_FLAGS): New
variable.
libgcc/config/riscv/t-elf