RFR: JDK-8200358 Remove mapfiles for JDK executables

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Wed Mar 28 19:07:35 UTC 2018


On 2018-03-28 14:19, Martin Buchholz wrote:
> I'm not sure about this.
>
> IIRC the AIX linker is able to use executables as a build-time input.  
> Maybe our AIX maintainers have some expertise here.
As you heard from Thomas, this does not seem to be a problem.
>
> I think the _dynamic_ linker will see symbols in the executable.  
> Resolving them is likely to be strictly more work at startup, and it 
> is likely that the symbols are visible to dlsym(NULL ...)
>
> We have local patches at Google that involve adding symbols to these 
> mapfiles to increase visibility to dlsym. Maintaining mapfiles is no 
> fun, but the precise definition of symbol visibility seems in the 
> Spirit of Java.

Maintaining map files is no fun. Yes indeed. I don't think the current 
presense of mapfiles is intended to be the "Spirit of Java", but rather 
"everything in the build sucked back when Java was created" (or perhaps 
"Everthing in the build was designed from how the programmers thought 
that you should do things on Solaris" -- which may or may not mean the 
same thing as the previous sentense ;-)).

Are you loading symbols from *executables* at Google? You sure about that?

Anyway, with this patch all symbols in executables will be visible, so 
there should be no problem anyway.

/Magnus

>
> On Wed, Mar 28, 2018 at 4:08 AM, Magnus Ihse Bursie 
> <magnus.ihse.bursie at oracle.com <mailto:magnus.ihse.bursie at oracle.com>> 
> wrote:
>
>     This patch removes mapfiles for the JDK executables (launchers).
>     There's really no reason to have mapfiles in the first place for
>     executables. Since no-one is linking to them, what symbols they
>     export is immaterial.
>
>     Bug: https://bugs.openjdk.java.net/browse/JDK-8200358
>     <https://bugs.openjdk.java.net/browse/JDK-8200358>
>     WebRev:
>     http://cr.openjdk.java.net/~ihse/JDK-8200358-remove-launcher-mapfiles/webrev.01
>     <http://cr.openjdk.java.net/%7Eihse/JDK-8200358-remove-launcher-mapfiles/webrev.01>
>
>     /Magnus
>
>




More information about the build-dev mailing list