On Fri, 21 Oct 2022 15:26:59 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:
> Fails like this: > > > $ sh ./configure --with-boot-jdk=jdk19u-ea --with-hsdis=binutils > --with-binutils-src=binutils-2.39 > $ make clean build-hsdis > > === Output from failing command(s) repeated here === > * For target support_hsdis_hsdis-binutils.o: What happens if we adopt the hsdis interface to match the new binutils, and we try to: a) load a new hsdis into an old hotspot, or b) load an old hsdis into a new hotspot? Are we bound to just have incomprehensible crashes, or can we employ some tricks to at least be able to present an understandable error message to the user? I could live with breaking compatibility if we output something like "This version of hsdis is too old" or "This version of Hotspot is too old". Creating a random and hard-to-debug crash dump due to method signature mismatches makes me much less keen on going down that route. Otherwise I agree with you: I think that hsdis is usually used by a few select Hotspot developers, and that they hopefully build hsdis and hotspot together. But I also know there are a lot of guides out there in the wild, suggesting that you put hsdis.so somewhere on your lib path. I have no clue how common this is, but if people have done that, we can cause a lot of problem if this causes hard crashes with no good description with the problem. ------------- PR: https://git.openjdk.org/jdk/pull/10817