HomeFreeBSD

audio/openal-soft: fix build with lld 15 on i386

Description

audio/openal-soft: fix build with lld 15 on i386

During an exp-run for llvm 15 (see bug 265425), it turned out that
audio/openal-soft failed to link with lld 15, on i386:

: && /usr/bin/c++ -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -Wl,--as-needed -fstack-protector-strong -Wl,-z,notext CMakeFiles/makemhr.dir/utils/makemhr/loaddef.cpp.o CMakeFiles/makemhr.dir/utils/makemhr/loadsofa.cpp.o CMakeFiles/makemhr.dir/utils/makemhr/makemhr.cpp.o -o makemhr  -Wl,-rpath,/usr/local/lib:  -pthread  libsofa-support.a  -pthread  libcommon.a  /usr/local/lib/libmysofa.so  /usr/lib/libz.so  -lm && :
ld: error: makemhr:(.eh_frame+0x14cf): internal linker error: wrote incorrect addend value 0x3400 instead of 0x0 for dynamic relocation R_386_32 at offset 0x408417 against symbol __gxx_personality_v0

This is because lld 15 with assertions enabled (which is default on
-CURRENT) checks dynamic relocations more thoroughly, and in combination
with -z notext (which was added earlier for bug 242307) results in the
above diagnostic.

Work around it by disabling the dynamic relations checks on i386.

PR: 268495
Approved by: maintainer timeout (2 weeks)
MFH: 2022Q4

Details

Provenance
dimAuthored on Dec 20 2022, 10:28 PM
Parents
R11:ee691f844e79: devel/libcbor: fix strict prototype warnings with clang 15
Branches
Unknown
Tags
Unknown