From 401278a18eec18516eee14a79b05fc4105eaa9ab Mon Sep 17 00:00:00 2001 From: Wolfgang Thaller Date: Wed, 28 Mar 2018 22:09:23 +0200 Subject: [PATCH] powerpc: fix global destructors (fix #40) --- gcc/libgcc/config.host | 2 +- libretro/ppcstart.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/libgcc/config.host b/gcc/libgcc/config.host index 2bb31631b4..23b336a59a 100644 --- a/gcc/libgcc/config.host +++ b/gcc/libgcc/config.host @@ -1123,7 +1123,7 @@ rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*) extra_parts="crtcxa.o crtcxa_s.o crtdbase.o" ;; powerpc-*-macos) - tmake_file="t-fdpbit rs6000/t-ibm-ldouble rs6000/t-aix-cxa" + tmake_file="t-fdpbit rs6000/t-ibm-ldouble" ;; rl78-*-elf) tmake_file="$tm_file t-fdpbit rl78/t-rl78" diff --git a/libretro/ppcstart.c b/libretro/ppcstart.c index b6ea38b42a..132e20f7d9 100644 --- a/libretro/ppcstart.c +++ b/libretro/ppcstart.c @@ -28,9 +28,13 @@ int main(int argc, char* argv[]); +void __do_global_dtors(); + void __start() { int result; + + atexit(&__do_global_dtors); { char *argv[2] = { "./a.out", NULL }; result = main(1, argv);