On Wed, 29 Jan 2025 14:48:05 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 $?
>
> Joachim Kern has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   modified/added copyright headers

make/scripts/aix/ld.sh line 3:

> 1: #!/bin/bash
> 2: #
> 3: # Copyright (c) 2025, Oracle and/or its affiliates. All rights reserved.

You can leave out Oracle here.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23313#discussion_r1934075501

Reply via email to