RFR: 8265666: Enable AIX build platform to make external debug symbols [v2]
Andrew Leonard
aleonard at openjdk.java.net
Wed Apr 28 17:47:10 UTC 2021
On Wed, 28 Apr 2021 17:00:13 GMT, Andrew Leonard <aleonard at openjdk.org> wrote:
>> make/common/NativeCompilation.gmk line 982:
>>
>>> 980:
>>> 981: else ifeq ($(call isTargetOs, macosx), true)
>>> 982: $1_DEBUGINFO_FILES := \
>>
>> This looks like you are just copying the linked binary and calling it .debuginfo. Is the idea that the original binary then gets stripped and this is just saving the unstripped binary? I don't know how things are done in AIX, but this seems like a rather strange way of achieving external symbol information to me.
>
> You're essentially correct Erik, on AIX there is no such tool as OBJCOPY on Linux platforms, so you cannot physically remove the symbolic information from the native compiled object. So this CREATE_DEBUG_INFO_CMDS copies the object containing symbols, prior to the STRIP_CMD being executed as part of the make of $$($1_TARGET) recipe:
>
> $$($1_CREATE_DEBUGINFO_CMDS)
> $$($1_STRIP_CMD)
>
> The external debuginfo is then passed by the user of AIX dbx using -B <.debuginfo>
>
> You make a good point though that this looks confusing, so I will update the PR with a comment to this rule.
> thanks
I've added a comment in the make file in the refresh
-------------
PR: https://git.openjdk.java.net/jdk/pull/3763
More information about the build-dev
mailing list