RFR: 8295795: hsdis does not build with binutils 2.39+ [v3]
Magnus Ihse Bursie
ihse at openjdk.org
Fri Sep 22 08:05:12 UTC 2023
On Fri, 22 Sep 2023 07:45:43 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:
>> It may be possible to read some elf header about binutils version.
>> I.e. do make install from our build system, then reading out version from elf section and pass that into our build.
>> As we need to know the signature of init_disassemble_info() which is different between binutils versions.
>
> I'm still not really happy about this. The old solution without .libs has worked before -- has anything changed in newer versions of binutils?
>
> Also, we support building binutils in place as a convenience, but it should also be possible to just set a hsdis path, and in that case we cannot presume that the .libs layout is kept.
>
> I suggest you change this to both eat the cake and have it -- first check for the lib in the original location (without .libs), and if it is not found there, check in .libs. This is perhaps not necessary here in LIB_BUILD_BINUTILS, but it definitely is in LIB_SETUP_HSDIS_BINUTILS. It will make the code a few lines longer but more robust.
> It may be possible to read some elf header about binutils version. I.e. do make install from our build system, then reading out version from elf section and pass that into our build. As we need to know the signature of init_disassemble_info() which is different between binutils versions.
Trying to understand what you are really saying here. If we accept this patch, it will no longer be possible to use a normally installed binutils, since the BFD_VERSION constant (via bfdver.h) is not available?
That is not good; the idea of building binutils locally was supposed to be a convenience, not a requirement.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15138#discussion_r1334029663
More information about the build-dev
mailing list