Hi Ted!
> the version of binutils (I was using 2.32)
Not sure what that is. Latest binutils is 2.29.1.
> I was doing make BINUTILS=<binutils_dir> ARCH=amd64
That should also work, but I'd still keep things simple and just specify
the "all64" make target. As always, whatever is documented in the README
file should probably be your default choice.
> Do I need to clone the hs repo on its own? Or can I use the bits
> buried inside of jdk/src/...
No need to clone jdk/hs. I was just cloning it out of habit. All you
need is the contents of the hsdir directory (from either repository).
There is not much active work done on hsdis, so in practice you are
unlikely to notice a difference between the jdk and hs repositories.
Cheers,
-Buck
On 2017/12/20 17:31, Ted Neward wrote:
I will give this a shot tomorrow; I can see two things already that I did that was
different, the version of binutils (I was using 2.32) and the make command (I was
doing make BINUTILS=<binutils_dir> ARCH=amd64 from the hsdis directory itself
inside the jdk source. Do I need to clone the hs repo on its own? Or can I use the
bits buried inside of jdk/src/... (sorry I can't remember the full path off the top
of my head)?
Once we confirm that this works, I'll work with you on Windows--fortunately I
know Windows better than Ubuntu, so hopefully that helps. :-) (And let's be
really clear, I *really* don't know what's going on with the texinfo and all
that stuff.)
Ted Neward
Author, Speaker, Mentor
http://www.newardassociates.com
t: @tedneward | m: (425) 647-4526
On 12/20/17, 12:13 AM, "David Buck" <david.b...@oracle.com> wrote:
Hi Ted!
No blog to point you to, but building on non-Windows platforms should be
pretty painless these days.
> then tried again with the JDK source
Yes, that is the one to use. The makefile had a number of issues that I
fixed recently but have not (yet) backported to 8u-dev.
I was able to build on an Ubuntu 16.4 (AMD64) using the following
commands (output omitted):
===
hg clone http://hg.openjdk.java.net/jdk/hs
wget http://ftp.gnu.org/gnu/binutils/binutils-2.28.1.tar.gz
tar xf binutils-2.28.1.tar.gz
cd hs/src/utils/hsdis/
make all64 BINUTILS=../../../../binutils-2.28.1
===
The above steps resulted in the plugin being generated here:
hs/src/utils/hsdis/build/linux-amd64/hsdis-amd64.so
Note the version of binutils I used, there is some issue with 2.29 and
later versions that prevents the build from succeeding. I hope to
investigate if I get some extra bandwidth next year. Also, avoiding
"cross compiling" is probably a good idea. If you want to build a 32-bit
plugin, it is probably simpler to just build it in a 32-bit environment.
Let us know once you get this working. macOS is pretty similar. Then we
can take a crack at a Windows build if you are up for it.
Cheers,
-Buck
On 2017/12/20 7:13, Ted Neward wrote:
> Hey, all. Been trying for a day and a half now to build the hsdis
disassembly plugin in jdk/src/utils/hsdis, with no luck. (Tried first off of the
JDK8u source, then tried again with the JDK source, no love either way.)
>
>
>
> Is there a definitive page (wiki, blog, etc) that describes how to build
hsdis on different platforms? I’m trying right now in an Ubuntu 16 VM, but would
also want to build on Windows and/or macOS. All the Web is showing me is posts
from a few years ago that don’t seem to address some of the issues I’m running
into.
>
>
>
> I can copy build output if it’ll help, but wanted to go do my homework
before doing that. :-)
>
>
>
> Ted Neward
>
> Author, Speaker, Mentor
>
> http://www.newardassociates.com
>
> t: @tedneward | m: (425) 647-4526
>