http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57058



             Bug #: 57058

           Summary: Bootstrap problems on AIX (libgcc configure, 64-bit)

    Classification: Unclassified

           Product: gcc

           Version: 4.7.3

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: libgcc

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: schnet...@gmail.com





I am trying to bootstrap gcc 4.7.3 on AIX. Both xlc and gcc 4.2.0 are

pre-installed. The main issue I encountered is that I need to use the option

"-maix64" when building with gcc, as I otherwise encounter assembler errors

about ".llong" (but that's fine since I want to use 64 bits anyway).



I encountered a problem when the stage 1 compiler tries to build libgcc. The

stage 1 compiler still needs to use -maix64. However, libgcc's configure script

seems to ignore all ways in which I could add this to CFLAGS (BOOT_CFLAGS,

CFLAGS_FOR_TARGET). The symptoms are errors about ".llong", since the stage 1

compiler doesn't use -maix64.



I believe this is due to an error in the following lines from libgcc's

configure.ac:



{{{

AC_CACHE_CHECK([whether to use setjmp/longjmp exceptions],

[libgcc_cv_lib_sjlj_exceptions],

[AC_LANG_CONFTEST(

  [AC_LANG_SOURCE([

void bar ();

void clean (int *);

void foo ()

{

  int i __attribute__ ((cleanup (clean)));

  bar();

}

])])

CFLAGS_hold=$CFLAGS

CFLAGS="--save-temps -fexceptions"

libgcc_cv_lib_sjlj_exceptions=unknown

AS_IF([ac_fn_c_try_compile],

  [if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1; then

    libgcc_cv_lib_sjlj_exceptions=yes

  elif grep _Unwind_Resume conftest.s >/dev/null 2>&1; then

    libgcc_cv_lib_sjlj_exceptions=no

  fi])

CFLAGS=$CFLAGS_hold

rm -f conftest*

])

}}}



Note that these lines unconditionally set CFLAGS before compiling a test

program. Instead, they should presumably be adding to CFLAGS. When changing the

offending line to



CFLAGS="$CFLAGS --save-temps -fexceptions"



the bootstrap went past this problem.

Reply via email to