r227907 had the following change: Index: aix61.h =================================================================== --- aix61.h (revision 227906) +++ aix61.h (revision 227907) @@ -167,7 +167,7 @@ %{!maix64:\ %{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\ %{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}\ - %{shared:crtcxa_s%O%s;:crtcxa%O%s}" + %{shared:crtcxa_s%O%s;:crtcxa%O%s} crtdbase%O%s" /* AIX V5 typedefs ptrdiff_t as "long" while earlier releases used "int". */
In trying to build gcc-8.1.0 on AIX 5.3 (cf. PR86553), I looked at how libgcc_s.a was built and, on AIX 6 and 7, crtdbase was linked in, providing __gcc_unwind_dbase (and crtcxa_s for __dso_handle). However, on AIX 5.3, this file is never included because gcc/config/rs6000/aix53.h has: #undef STARTFILE_SPEC #define STARTFILE_SPEC "%{!shared:\ %{maix64:%{pg:gcrt0_64%O%s}%{!pg:%{p:mcrt0_64%O%s}%{!p:crt0_64%O%s}}}\ %{!maix64:\ %{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\ %{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}" A patch similar to the above must also be made to aix53.h for 8.1.0 to build successfully on AIX 5.3. At the moment, GCC 5+ doesn't build on AIX 5.3 because of the above. -- albert chin (ch...@thewrittenword.com)