RFR: 8348663: [AIX] clang pollutes the burned-in library search paths of the generated executables [v3]

Joachim Kern jkern at openjdk.org
Wed Jan 29 12:21:29 UTC 2025


> 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:

  cosmetic changes

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/23313/files
  - new: https://git.openjdk.org/jdk/pull/23313/files/b5d402ff..d8f067c6

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=23313&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23313&range=01-02

  Stats: 3 lines in 1 file changed: 0 ins; 1 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/23313.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23313/head:pull/23313

PR: https://git.openjdk.org/jdk/pull/23313


More information about the build-dev mailing list