Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8352064

AIX: now also able to build static-jdk image with a statically linked launcher

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • None
    • None
    • infrastructure
    • None
    • ppc
    • aix

      After "JDK-8339480: Build static-jdk image with a statically linked launcher" AIX was not able to build the new target. Therefore with "JDK-8345590 AIX 'make all' fails after JDK-8339480" the new target was disabled again.

      Now with this change we can enable the statically linked launcher target again.
      There are 3 things to do.
      1. Modify dladdr(). Because this API does not exist on AIX it is implemented based on the loadquery() API. Unfortunately, this API does only return the name of the executable, but not its path. Beforehand this was no problem, because we asked for a loaded library, for which the API provides the path. But now we are asking for the executable itself.
      2. dladdr() is differently implemented three times in the openjdk code. In the static case I supressed now the usage of the additional modules containing version two and three. I know this shouldn't be the final version. Magnus mentioned that they have discussed from time to time to have a "basic JDK utility lib" that can be shared between hotspot and the JDK libraries. I think this is a good idea for the future, but far beyond the scope of this PR. The second best thing Magnus proposed is to only have the dladdr() functionality in Hotspot and then export it. Let's see how the community decides.
      3. Because we lack a linker flag like whole-archive, I had to force the export of all symbols by creating export files containing all symbols of the static libs. I introduced the new rule for the export file generation as "raw" make recipes. Magnus claimed to use the SetupExecute. Unfortunately I was not able to make it function. So I still have my "raw" solution in place, but my last try with SetupExecute as comment beneath. Help is welcome.





            Unassigned Unassigned
            jkern Joachim Kern
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: