RFR: 8253795: Implementation of JEP 391: macOS/AArch64 Port [v6]

Alan Hayward github.com+4146708+a74nh at openjdk.java.net
Mon Feb 1 09:34:47 UTC 2021


On Wed, 27 Jan 2021 14:58:27 GMT, Vladimir Kempik <vkempik at openjdk.org> wrote:

>> Build changes per se now looks okay. However, I agree with Erik that unless this PR can wait for the JNF removal, at the very least the build docs needs to be updated to explain how to successfully build for this platform. (I can live with the configure command line hack, since it's temporary -- otherwise I'd have requested a new configure argument.) This can be done in this PR or a follow-up PR.
>
>> Build changes per se now looks okay. However, I agree with Erik that unless this PR can wait for the JNF removal, at the very least the build docs needs to be updated to explain how to successfully build for this platform. (I can live with the configure command line hack, since it's temporary -- otherwise I'd have requested a new configure argument.) This can be done in this PR or a follow-up PR.
> 
> I believe it's better be done under separate PR/bugfix, so it can be completely reverted once JNF removed.

You need add macos arm64 to hsdis. Having it working is fairly essential for debugging.

Inside src/utils/hsdis, After cloning binutils
make; make demo; ./build/macosx-arm64/hsdis-demo
Results in:
Hello, world!
...And now for something completely different:

Decoding from 0x1046e31a4 to 0x1046e3664...with decode_instructions_virtual
hsdis: bad native mach=architecture not set in Makefile!; please port hsdis to this platform
hsdis output options:

I fixed it by changing the makefile to force the build flags:
ARCH=aarch64
CFLAGS/aarch64    += -m64
Resulting in:
Hello, world!
...And now for something completely different:

Decoding from 0x10012719c to 0x10012765c...with decode_instructions_virtual
Decoding for CPU 'aarch64'
main:
 0x10012719c	sub	sp, sp, #0x60
 0x1001271a0	stp	x29, x30, [sp, #80]
...etc

Putting the library in the right place then made disassembly in java work for me.

-------------

PR: https://git.openjdk.java.net/jdk/pull/2200



More information about the security-dev mailing list