RFR: JDK-8198859 Use elfedit to silence linker warnings on solaris

Erik Joelsson erik.joelsson at oracle.com
Thu Mar 1 22:17:15 UTC 2018


Hello Magnus,

This is a nice fix!

I would prefer if the shell expression wasn't executed on every re-make. 
In this case it can easily be fixed by changing := to =. There is only 
one use of DTRACE_ELFEDIT_COMMANDS so it will only be evaluated once, 
and since it's in a recipe line, it will only get evaluated if that 
recipe is run. For better styling, perhaps it should be renamed with 
camel humps to make it more apparent that it's a macro.

Stylewise, I would also argue that the indentation on 149 should be 4 
spaces. One could say foreach qualifies as a logic indent, but I would 
say this is a broken up one liner. If foreach had started on a new line, 
then 2 space would have been ok, and in that case I would also have 
liked the closing brace on a new line.

/Erik

On 2018-03-01 02:01, Magnus Ihse Bursie wrote:
> Solaris builds have always produced a lot of warnings when linking, 
> like this:
>
> ld: fatal: symbol '__JvmOffsets' has differing types:
>     (file 
> /export/home/magnusi/hg/sandbox-cflags/build/solaris-sparcv9/hotspot/variant-server/libjvm/objs/JvmOffsets.o 
> type=OBJT; file 
> /export/home/magnusi/hg/sandbox-cflags/build/solaris-sparcv9/hotspot/variant-server/libjvm/objs/dtrace_jhelper.o 
> type=FUNC);
>
> This is due to an unresolved bug in dtrace. This bug has been reported 
> on the dtrace team in 2014, but no solution have been coming forth. 
> :-( However, I just discovered that we can actually use elfedit to fix 
> the type of the fields that the linker is complaining about on 
> $(DTRACE_JHELPER_OBJ).
>
> That will make the linker quiet.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8198859
> WebRev: 
> http://cr.openjdk.java.net/~ihse/JDK-8198859-dtrace-warnings-workaround/webrev.01
>
> /Magnus
>




More information about the build-dev mailing list