6953d5ffeb
Following the introduction of the support for the musl C library, the support of C++ exceptions or features like pthread_exit() got broken even with other libraries such as glibc. This was reported as bug #7028. The problem was caused by the gcc patch needed to add support for musl, which modified the libgcc/unwind-dw2-fde-dip.c logic to decide whether USE_PT_GNU_EH_FRAME should be enabled or not. It completely removed the existing logic, replacing it by a single logic based on the definition of TARGET_DL_ITERATE_PHDR. However, this constant gets defined by the configure script only for Solaris, or Linux Musl platforms. For glibc/uClibc, the configure script does not define it, and therefore USE_PT_GNU_EH_FRAME is not defined, causing issues with exception handling. This patch fixes that by restoring all the logic of libgcc/unwind-dw2-fde-dip.c, and just adding the musl logic as one more case. It has been successfully runtime tested using the two code examples provided in bug #7208, with uClibc, musl and glibc. Cc: Krzysztof Wrzalik <kwrzalik@gmail.com> Cc: David Bachelart <david.bachelart@bbright.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com> |
||
---|---|---|
.. | ||
100-uclibc-conf.patch | ||
301-missing-execinfo_h.patch | ||
810-arm-softfloat-libgcc.patch | ||
830-arm_unbreak_armv4t.patch | ||
840-microblaze-enable-dwarf-eh-support.patch | ||
841-PR60102.patch | ||
850-libstdcxx-uclibc-c99.patch | ||
900-musl-support.patch | ||
powerpc-link-with-math-lib.patch.conditional |