This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r227907 and AIX 5.[23]


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 (china@thewrittenword.com)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]