I've just found that the recent implementation of

6744003 ld(1) could provide better argument processing diagnostics (D)
        PSARC 2008/583 add gld options to ld(1)

broke bootstrap of mainline GCC: while libtool now correctly determines
that ld understands the --version-script option, the syntax understood by
GNU ld and Sun ld is different.  In the case at hand, the java runtime
library libgcj.so.10 is linked with the following version script
(libjava/libgcj.ver in the GCC source tree):

# Anonymous GNU ld version script to hide boehm-gc, libffi and fdlibm
# symbols in libgcj.so.

{
  global: Jv*; _Jv_*; __gcj_personality_v0; __gcj_personality_sj0; _Z*;
  local: *;
};

Since Sun ld doesn't understand wildcards here, practically all symbols
become local and most programs linked against libgcj fail to link due to
undefined symbols.

So either Sun ld must not implement --version-script or the version script
syntax must become completely compatible with GNU ld.

I'll see how I can work around this issue for the time being, otherwise I
cannot continue to test GCC on Nevada.

        Rainer

-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University

Reply via email to