Message ID | CAGWvnyk1wmftNSi8Fp_-zAOR6+ibGmvkEr0qbrcu+TY3rQMGNw@mail.gmail.com |
---|---|
State | New |
Headers | show |
David Edelsohn <dje.gcc@gmail.com> writes: > AIX needs libsupc++ for libstdc++ static linking. > > * Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): Add libsupc++ to > link directories. > * Makefile.in: Rebuild. > > Index: Makefile.tpl > =================================================================== > --- Makefile.tpl (revision 176487) > +++ Makefile.tpl (working copy) > @@ -240,10 +240,13 @@ > CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \ > -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \ > -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ > + -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \ > -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \ > -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \ > -I$$s/libstdc++-v3/libsupc++ \ > - -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \ > + -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ > + -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; > + export CXX; \ > CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD; > @endif target-libstdc++-v3-bootstrap This is OK. Thanks. Ian
Hi! On Wed, 20 Jul 2011 11:41:37 -0400, David Edelsohn <dje.gcc@gmail.com> wrote: > AIX needs libsupc++ for libstdc++ static linking. > > * Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): Add libsupc++ to > link directories. > * Makefile.in: Rebuild. > > Index: Makefile.tpl > =================================================================== > --- Makefile.tpl (revision 176487) > +++ Makefile.tpl (working copy) > @@ -240,10 +240,13 @@ > CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \ > -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \ > -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ > + -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \ > -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \ > -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \ > -I$$s/libstdc++-v3/libsupc++ \ > - -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \ > + -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ > + -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; > + export CXX; \ > CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD; > @endif target-libstdc++-v3-bootstrap Doesn't this need a backslash at the end of the second-last + line, too? + -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \ + export CXX; \ Grüße, Thomas
I now can get through the build of the compiler, but stage2 and stage3 libstdc++ and libsupc++ files have many comparison failures due to tree.c:get_file_function_name() introducing explicit randomness to produce different symbols for anonymous namespaces: /* Otherwise, the name must be unique across the entire link. We don't have anything that we know to be unique to this translation unit, so use what we do have and throw in some randomness. */ unsigned len; const char *name = weak_global_object_name; const char *file = main_input_filename; if (! name) name = ""; if (! file) file = input_filename; len = strlen (file); q = (char *) alloca (9 * 2 + len + 1); memcpy (q, file, len + 1); sprintf (q + len, "_%08X_%08X", crc32_string (0, name), crc32_string (0, get_random_seed (false))); producing differences like: - .lglobl H.92.._ZN10__cxxabiv176_GLOBAL__N__farm_dje_src_src_libstdc___v3_libsupc___vec.cc_00000000_8F8DBED417uncatch_exceptionC2Ev - .lglobl H.100.._ZN10__cxxabiv176_GLOBAL__N__farm_dje_src_src_libstdc___v3_libsupc___vec.cc_00000000_8F8DBED417uncatch_exceptionC1Ev - .lglobl H.114.._ZN10__cxxabiv176_GLOBAL__N__farm_dje_src_src_libstdc___v3_libsupc___vec.cc_00000000_8F8DBED417uncatch_exceptionD2Ev - .lglobl H.121.._ZN10__cxxabiv176_GLOBAL__N__farm_dje_src_src_libstdc___v3_libsupc___vec.cc_00000000_8F8DBED417uncatch_exceptionD1Ev + .lglobl H.92.._ZN10__cxxabiv176_GLOBAL__N__farm_dje_src_src_libstdc___v3_libsupc___vec.cc_00000000_2322ABD117uncatch_exceptionC2Ev + .lglobl H.100.._ZN10__cxxabiv176_GLOBAL__N__farm_dje_src_src_libstdc___v3_libsupc___vec.cc_00000000_2322ABD117uncatch_exceptionC1Ev + .lglobl H.114.._ZN10__cxxabiv176_GLOBAL__N__farm_dje_src_src_libstdc___v3_libsupc___vec.cc_00000000_2322ABD117uncatch_exceptionD2Ev + .lglobl H.121.._ZN10__cxxabiv176_GLOBAL__N__farm_dje_src_src_libstdc___v3_libsupc___vec.cc_00000000_2322ABD117uncatch_exceptionD1Ev - David
Index: Makefile.tpl =================================================================== --- Makefile.tpl (revision 176487) +++ Makefile.tpl (working copy) @@ -240,10 +240,13 @@ CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \ -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \ -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ + -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \ -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \ -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \ -I$$s/libstdc++-v3/libsupc++ \ - -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \ + -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ + -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; + export CXX; \ CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD; @endif target-libstdc++-v3-bootstrap