RFR: 8017234: Hotspot should stop using mapfiles

Julian Waters jwaters at openjdk.org
Thu Feb 22 07:15:53 UTC 2024


On Wed, 21 Feb 2024 23:32:15 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

> **Summary:** Finally get rid of the mapfiles in Hotspot, and replace it with compiler options and `JNIEXPORT` on all platforms.
> 
> The bug that this PR solves, [JDK-8017234](https://bugs.openjdk.org/browse/JDK-8017234), was created in 2013. Even back then the use of mapfiles in Hotspot was dated, so this is really good riddance with old rubbish.
> 
> This code touches on central but not well understood parts of the Hotspot dynamic library, which has contributed to why this bug has stayed unresolved for so long. I will need to explain this fix in more detail than usually necessary. (Please bare with me if this gets long.) I also anticipate that not all solutions that I've picked will be accepted, and we'll have to discuss how to proceed. I think it is better to have actual concrete code to discuss around, rather than starting by an abstract discussion. To keep this description short, I will post the discussion as a comment to the PR.
> 
> I have run this PR through tier 1-3 in our CI system. I have also carefully checked how the resulting dynamic library differs with this patch (not much; see discussion below). For build system changes, this is often the most relevant metric.

make/hotspot/lib/CompileJvm.gmk line 149:

> 147: 
> 148: ifeq ($(call isTargetOs, windows), true)
> 149:   WIN_EXPORT_FILE := $(JVM_OUTPUTDIR)/win-exports.txt

Why not .def?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17955#discussion_r1498758500


More information about the build-dev mailing list