RFR: 8371893: [macOS aarch64] use dead_strip linker option to reduce binary size [v3]
Matthias Baesken
mbaesken at openjdk.org
Thu Nov 20 16:31:25 UTC 2025
On Thu, 20 Nov 2025 16:00:30 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:
>> The dead_strip linker option on macOS removes functions and data that are unreachable by the entry point or exported symbols.
>> Setting it can reduce the size of some binaries we generate quite a lot, for example (product build, Xcode 15 is used) :
>> (before -> after setting the option)
>>
>> 1.4M -> 1.1M images/jdk/lib/libfontmanager.dylib
>> 264K -> 248K images/jdk/lib/libjavajpeg.dylib
>> 152K -> 132K images/jdk/lib/libjli.dylib
>> 388K -> 296K images/jdk/lib/liblcms.dylib
>> 164K -> 128K images/jdk/lib/libzip.dylib
>>
>>
>> and libjvm :
>>
>> 20M -> 18M images/jdk/lib/server/libjvm.dylib
>> 146M -> 137M images/jdk/lib/server/libjvm.dylib.dSYM
>
> Matthias Baesken has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix Windows issues
Interestingly, we seem to rely already on the 'used' attribute in the OpenJDK codebase at some places, see
https://github.com/search?q=repo%3Aopenjdk%2Fjdk%20ATTRIBUTE_USED&type=code
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28319#issuecomment-3558965415
More information about the build-dev
mailing list