RFR: 8273967: gtest os.dll_address_to_function_and_library_name_vm fails on macOS12 [v2]
Gerard Ziemski
gziemski at openjdk.java.net
Fri Nov 5 14:53:09 UTC 2021
On Thu, 4 Nov 2021 22:59:39 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:
>> macOS12 has changed the dladdr() function to accept "-1" as a valid address and
>> we have functions that use dladdr() to convert DLL addresses into function or
>> library names. We also have a gtest that verifies that "-1" is not a valid value to use
>> as a symbol address.
>>
>> As you might imagine, existing code that uses `os::dll_address_to_function_name()`
>> or `os::dll_address_to_library_name()` can get quite confused (and sometimes crash)
>> if an `addr` parameter of `-1` was allowed to be used.
>>
>> I've also made two cleanup changes as part of this fix:
>>
>> 1) In `src/hotspot/os/bsd/os_bsd.cpp` there is some macOS specific code that should
>> be properly `#ifdef`'ed. There is also some code that makes sense for ELF format
>> files, but not for Mach-O format files so that code needs to be excluded on macOS.
>>
>> 2) In `src/hotspot/share/runtime/os.cpp` I noticed a simple typo in a comment on an
>> `#endif` that I fixed. That typo does not appear anywhere else in the HotSpot code
>> base so I'd like to fix it with this bug ID since I'm in related areas.
>>
>> This fix has been tested with Mach5 Tier[1-6].
>
> Daniel D. Daugherty has updated the pull request incrementally with one additional commit since the last revision:
>
> 8273967.cr1.patch
Marked as reviewed by gziemski (Committer).
Thank you Dan for the fix!
-------------
PR: https://git.openjdk.java.net/jdk/pull/6193
More information about the serviceability-dev
mailing list