Review request: 8002365: build-infra: Build-infra fails on solaris 11.1 on sparc

Erik Joelsson erik.joelsson at oracle.com
Thu Nov 8 10:47:11 UTC 2012



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



More information about the build-dev mailing list