On Mon, 27 Jan 2025 10:51:20 GMT, Joachim Kern <jk...@openjdk.org> wrote:

> The clang compiler which we use since jdk21 pollutes the burned-in library 
> search paths of the generated executables.
> e.g. a dump -X64 -H ... /jdk-23.0.1+11-jre/lib/libnio.so
> 
> amongst others produces the following lines
> 
>                         ***Import File Strings***
> INDEX PATH BASE MEMBER
> 0 
> /opt/IBM/openxlC/17.1.1/../../../../usr/lpp/xlC/lib:/opt/IBM/openxlC/17.1.1/lib:/opt/IBM/openxlC/17.1.1/bin/../../../../../usr/lpp/xlC/lib:/usr/opt/zlibNX/lib:/opt/freeware/lib/pthread:/opt/freeware/lib:/usr/lib
> 
> The long string is the burned in library search path which will be used after 
> searching with LIBPATH envvar.
> You see there are some compiler paths which customers will not have; also 
> /opt/freeware is unwanted.
> A proper executable should only have the burned in default search path
> /usr/lib:lib
> 
> To ensure this we want to call the linker with the flag
> -fuse-ld=our-wrapper-script-cleaning-LIBPATH- 
> and-calling-original-ld-afterwards
> This script we want to deliver in make/scripts/aix/ld.sh
> just containing
> #!/bin/bash
> unset LIBPATH
> exec /usr/bin/ld "$@"
> return $?

I still think you should report it as a bug, but I accept that we need to have 
a workaround in the meantime (or forever, if it doesn't get fixed).

However, you need to shape up the patch a bit first.

* `$OUTPUTDIR` points to the current configure dir, use that instead.
* You should use the detected versions of cp and chmod as $CP and $CMHOD.
* You should not copy files in flags-ldflags.m4, that parts needs to find a 
better home.
* The `return $?` part in the script is useless since `exec` will make the ld 
process replace the shell script.

I'm not sure what is a better place. Perhaps BASIC_POST_CONFIG_OUTPUT where we 
copy/chmod other files, even if this one is not strictly necessary to do late 
in the configure process.

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

PR Comment: https://git.openjdk.org/jdk/pull/23313#issuecomment-2621210348
PR Comment: https://git.openjdk.org/jdk/pull/23313#issuecomment-2621211702

Reply via email to