RFR(S) 8193318: ELF decoder should be able to use external debug info file
Mikael Vidstedt
mikael.vidstedt at oracle.com
Wed Mar 14 21:19:14 UTC 2018
> On Mar 14, 2018, at 10:12 AM, Zhengyu Gu <zgu at redhat.com> wrote:
>
> Hi Mikael,
>
> On 03/14/2018 12:42 PM, Mikael Vidstedt wrote:
>>> On Mar 14, 2018, at 4:52 AM, coleen.phillimore at oracle.com wrote:
>>>
>>>
>>> Hi, I looked at this and I really wasn't happy with all this extra code going into the JVM. And I don't know this code. There's a large hex table in this file:
>>>
>>> http://cr.openjdk.java.net/~zgu/8193318/webrev.00/src/hotspot/os/linux/decoder_linux.cpp.udiff.html <http://cr.openjdk.java.net/~zgu/8193318/webrev.00/src/hotspot/os/linux/decoder_linux.cpp.udiff.html>
>> I’m also curious - what is that code actually doing? Why is that hex table needed?
>
> I should have added comment here, as Andrew did in SA implementation.
>
> https://sourceware.org/gdb/current/onlinedocs/gdb/Separate-Debug-Files.html#Separate-Debug-Files <https://sourceware.org/gdb/current/onlinedocs/gdb/Separate-Debug-Files.html#Separate-Debug-Files>
Ah, that certainly helps, thanks!
Cheers,
Mikael
>
> Thanks,
>
> -Zhengyu
>
>> Cheers,
>> Mikael
>>>
>>> This seems like something that will be painful to maintain. Can the SA be used for the cases where the binary is stripped? I believe that Oracle ships with minimal stripping so that we have these symbols, why don't all suppliers? I don't really like this change.
>>>
>>> Thanks,
>>> Coleen
>>>
>>> On 3/8/18 11:12 AM, Zhengyu Gu wrote:
>>>> Ping! I can get formal review?
>>>>
>>>> Thanks,
>>>>
>>>> -Zhengyu
>>>>
>>>>
>>>> On 02/23/2018 12:26 PM, Zhengyu Gu wrote:
>>>>> Thanks, Aleksey.
>>>>>
>>>>> On 02/23/2018 12:01 PM, Aleksey Shipilev wrote:
>>>>>> On 02/15/2018 06:59 PM, Zhengyu Gu wrote:
>>>>>>> This Linux only patch allows OpenJDK Linux distributions, which strip out debug symbols in
>>>>>>> production bundles, to use external debuginfo bundles, if present, to decode stacks.
>>>>>>>
>>>>>>> The implementation mirrors SA implementation [1][2]. It has minimal impact to Oracle's JDK, which
>>>>>>> always contains symbol tables.
>>>>>>>
>>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8193318
>>>>>>> Webrev: http://cr.openjdk.java.net/~zgu/8193318/webrev.00/
>>>>>>
>>>>>> Looks OK on my untrained eye.
>>>>>>
>>>>>> *) I am wondering if we can merge the existing implementation in
>>>>>> src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c and this mirror implementation in
>>>>>> src/hotspot/os/linux/decoder_linux.cpp? Notably, moving gnu_debuglink_crc32 to some shared file
>>>>>> would trim down the change.
>>>>>
>>>>> Yes, but I don't know if there is a way.
>>>>>
>>>>>>
>>>>>> Andrew Haley knows this better, as he is the author of the related change.
>>>>>
>>>>> Cc'ed Andrew Haley.
>>>>>
>>>>> -Zhengyu
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>> -Aleksey
>>>>>>
>>>
More information about the hotspot-runtime-dev
mailing list