On 01/23/13 20:55, David Edelsohn wrote: > This patch looks okay, although it needs a ChangeLog entry.
Ok, inside the patch file now rather than at the end of the mail text. I'm still unsure if the patch should contain a real ChangeLog diff or a simple comment, as I doubt the ChangeLog diff would apply smoothly. > Also, is this really sufficient? I guess you are linking the shared > libstdc++ library statically, which is bulky but will work. In the > past there have been problems linking libstdc++ statically without > explicitly linking libsupc++ as well. It is not me using --static-libstdc++, but gcc itself when linking xgcc/xg++. Since switching to C++ inside gcc, it isn't possible to get working gcc/g++ binaries installed using native ld on AIX without this patch, as these need dynamic libstdc++.a from builddir(!). Even after successful build with the workaround from PR55105[1], installed binaries break when removing builddir. Since --disable-build-with-cxx/--disable-build-poststage1-with-cxx [2] aren't supported any more too, this really feels like a regression with 4.8. [1] http://gcc.gnu.org/PR55105 [2] http://gcc.gnu.org/PR52623 Thank you! /haubi/
2014-01-23 Michael Haubenwallner <michael.haubenwall...@salomon.at> AIX ld does support -bstatic/-bdynamic instead of -Bstatic/-Bdynamic. * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld. * configure: Regenerate. diff --git a/gcc/configure b/gcc/configure index 10ff5ae..f153294 100755 --- a/gcc/configure +++ b/gcc/configure @@ -23650,6 +23650,12 @@ elif test x$gcc_cv_ld != x; then gcc_cv_ld_static_dynamic=yes else case "$target" in + # AIX ld uses -b flags + *-*-aix4.[23]*|*-*-aix[5-9]*) + gcc_cv_ld_static_dynamic=yes + gcc_cv_ld_static_option="-bstatic" + gcc_cv_ld_dynamic_option="-bdynamic" + ;; # HP-UX ld uses -a flags to select between shared and archive. *-*-hpux*) if test x"$gnu_ld" = xno; then diff --git a/gcc/configure.ac b/gcc/configure.ac index 3703a20..d33fcb2 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -3317,6 +3317,12 @@ elif test x$gcc_cv_ld != x; then gcc_cv_ld_static_dynamic=yes else case "$target" in + # AIX ld uses -b flags + *-*-aix4.[[23]]*|*-*-aix[[5-9]]*) + gcc_cv_ld_static_dynamic=yes + gcc_cv_ld_static_option="-bstatic" + gcc_cv_ld_dynamic_option="-bdynamic" + ;; # HP-UX ld uses -a flags to select between shared and archive. *-*-hpux*) if test x"$gnu_ld" = xno; then