On Wed, 17 Nov 2021 13:17:21 GMT, Magnus Ihse Bursie <i...@openjdk.org> wrote:

>> This patch expands the newly added system for hsdis backends to include LLVM.
>> 
>> The actual code in hsdis-llvm.cpp is based heavily on the work by @luhenry, 
>> as published in the never integrated PR 
>> https://github.com/openjdk/jdk/pull/392. (I have basically just ripped out 
>> the binutils-based part of it.)
>> 
>> Unfortunately I have not been able to make this work properly on Windows. 
>> With some additional flags I made it compile without complaints, but it 
>> caused hotspot to segfault in `LoadLibrary` (!) in `os::dll_load` when I 
>> tried to load the library. This is somewhat ironic, since the initial 
>> implementation was created by Ludovic for the very purpose of using it on 
>> Windows.
>> 
>> The lack of Windows support in this patch does not mean it is impossible to 
>> get it to work, just that I need to co-operate with someone who has more 
>> experience of compiling LLVM on Windows, and/or are more eager to get this 
>> combination to work.
>
> Yeah bot, I'm still working on it.

> @magicus @JornVernee Thank you for starting this PR and for the notes on the 
> Windows changes. I'm trying them out on macOS and Windows.
> 
> @theRealAph I'm not as familiar with the mac platform. Did you need to do 
> anything special to address these errors? I was adding 
> -L/opt/homebrew/opt/llvm/lib to the HSDIS_LDFLAGS.
> 
> ```
>   "_LLVMCreateDisasm", referenced from:
>       hsdis_backend::hsdis_backend(unsigned long, unsigned long, unsigned 
> char*, unsigned long, void* (*)(void*, char const*, void*), void*, int 
> (*)(void*, char const*, ...), void*, char const*, int) in hsdis-llvm.o
>   "_LLVMDisasmDispose", referenced from:
>       hsdis_backend::~hsdis_backend() in hsdis-llvm.o
> ...
> ld: symbol(s) not found for architecture arm64
> clang-13: error: linker command failed with exit code 1 (use -v to see 
> invocation)
> ```

Turns out I just needed to add /opt/homebrew/opt/llvm/bin to my PATH. I can now 
use --with-hsdis=llvm.

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

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

Reply via email to