On 2012-11-08 08:33, David Holmes wrote:
On 8/11/2012 4:56 PM, David Holmes wrote:
On 8/11/2012 12:38 AM, Erik Joelsson wrote:
This is essentially the patch from Vincent to make build-infra work on
Solaris 11.1 with some minor adjustments to keep the new and old build
equal.

http://cr.openjdk.java.net/~erikj/8002365/webrev.01/
<http://cr.openjdk.java.net/%7Eerikj/8002365/webrev.01/>

FYI I did some digging on this. It looks like the old build always uses
-lc but the new build accidentally dropped that option. That wasn't
noticed because the compiler we are using (SS12u1) introduced a bug -
and that bug was to implicitly pass -lc when -G was used to create a
shared library. The bug is fixed in SS12u2 and so, as Vincent
discovered, the build failed until -lc was added back in.

Except the build files already contain this in toolchain.m4

    LDFLAGS_JDKLIB_SUFFIX="-ljava -ljvm"
    if test "x$COMPILER_NAME" = xossc; then
        LDFLAGS_JDKLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX -lc"
    fi

So what is going wrong? Is the COMPILER_NAME not being set correctly?

I dropped the usage of that variable for most libraries when working on getting the build comparison as equal as possible. There were several libraries that didn't need both libjava and libjvm and the order of the -l options on the link line affects the resulting binaries, making comparisons harder. (And we strive for as little difference as possible before the switch). I think we can clean this up further after the switch when binary equivalence is less of an issue.

/Erik

Reply via email to