maintainer-feedback requested: [Bug 268495] audio/openal-soft: fix build with lld 15 on i386

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 20 Dec 2022 22:36:17 UTC
Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-multimedia
(Nobody) <multimedia@FreeBSD.org> for maintainer-feedback:
Bug 268495: audio/openal-soft: fix build with lld 15 on i386
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268495



--- Description ---
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.