RFR(S) Solaris Full Debug Symbols (FDS) fix for 8033602 and 8034005

Daniel D. Daugherty daniel.daugherty at oracle.com
Tue Nov 11 17:25:42 UTC 2014


Thanks for closing the loop on this!

Dan


On 11/11/14 9:21 AM, Dmitry Samersoff wrote:
> Dan,
>
> Thank you for the explanation.
>
> The fix looks good for me.
>
> -Dmitry
>
> On 2014-11-11 18:40, Daniel D. Daugherty wrote:
>> Dmitry,
>>
>> Thanks for the quick review!
>>
>> Replies embedded below...
>>
>>
>> On 11/11/14 1:35 AM, Dmitry Samersoff wrote:
>>> Dan,
>>>
>>> 1. defs.make:
>>>
>>> It might be better to join obcopy version check and condition at ll.190
>> I looked at that... The seemingly natural place to put the version check
>> is actually in the else branch on line 194... However, if the version
>> check is bad, then you have to make a second check for a reset OBJCOPY
>> value (along with indenting all the code another level or two).
>>
>> It just looked ugly... it seemed better to keep the version check
>> separate from the other logic.
>>
>>
>>> otherwise the user will have a wrong version warning and then misleading
>>> message "no objcopy cmd found"
>> However, part of that wrong version warning is this line:
>>
>> WARNING: ignoring above objcopy command.
>>
>> so in reality that "no objcopy cmd found" is just confirming
>> that we are indeed ignoring the objcopy cmd that we found...
>>
>>
>>> 2. Did you consider moving objcopy detection to configure?
>> No because this fix has to be backported to JDK8u and JDK7 since
>> we support FDS in those releases...
>>
>> Of course, the build-infra team is always welcome to use a new
>> bug to evolve this code for JDK9 and newer.
>>
>> Again, thanks for the review!
>>
>> Dan
>>
>>
>>>
>>> -Dmitry
>>>
>>>
>>> On 2014-11-11 03:00, Daniel D. Daugherty wrote:
>>>> Greetings,
>>>>
>>>> I have a Solaris Full Debug Symbols (FDS) fix ready for review.
>>>> Yes, it is a small fix, but it is in Makefiles so feel free to
>>>> run screaming from the room... :-)  On the plus side the fix does
>>>> delete two work around source files (Coleen would say that's a
>>>> Good Thing (TM)!)
>>>>
>>>> The fix is to detect the version of GNU objcopy that is being
>>>> used on the machine and only enable Full Debug Symbols when that
>>>> version is 2.21.1 or newer. If you don't have the right version,
>>>> then the build drops back to pre-FDS build configs with a message
>>>> like this:
>>>>
>>>> WARNING: /usr/sfw/bin/gobjcopy --version info:
>>>> WARNING: GNU objcopy 2.15
>>>> WARNING: an objcopy version of 2.21.1 or newer is needed to create valid
>>>> .debuginfo files.
>>>> WARNING: ignoring above objcopy command.
>>>> WARNING: patch 149063-01 or newer contains the correct Solaris 10 SPARC
>>>> version.
>>>> WARNING: patch 149064-01 or newer contains the correct Solaris 10 X86
>>>> version.
>>>> WARNING: Solaris 11 Update 1 contains the correct version.
>>>> INFO: no objcopy cmd found so cannot create .debuginfo files.
>>>> INFO: ENABLE_FULL_DEBUG_SYMBOLS=0
>>>>
>>>> This work is being tracked by the following bug IDs:
>>>>
>>>>       JDK-8033602 wrong stabs data in libjvm.debuginfo on JDK 8 - SPARC
>>>>       https://bugs.openjdk.java.net/browse/JDK-8033602
>>>>
>>>>       JDK-8034005 cannot debug in synchronizer.o or objectMonitor.o on
>>>> Solaris X86
>>>>       https://bugs.openjdk.java.net/browse/JDK-8034005
>>>>
>>>> Here is the webrev URL:
>>>>
>>>> http://cr.openjdk.java.net/~dcubed/8033602-webrev/0-jdk9-hs-rt/
>>>>
>>>> Testing:
>>>>
>>>> - JPRT test jobs to verify that the current JPRT Solaris hosts
>>>>     are happy
>>>> - local builds on my Solaris 10 X86 machine to verify that the
>>>>     wrong version of GNU objcopy is caught
>>>>
>>>> Thanks, in advance, for any comments, questions or suggestions.
>>>>
>>>> Dan
>



More information about the serviceability-dev mailing list