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.
Created attachment 238949 [details] audio/openal-soft: fix build with lld 15 on i386
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=145ca54873489e7d45eac99de62f733a54dc294d commit 145ca54873489e7d45eac99de62f733a54dc294d Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2022-12-20 22:28:41 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2022-12-25 17:53:21 +0000 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 audio/openal-soft/Makefile | 10 ++++++++++ 1 file changed, 10 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=85d704c5f2603e9c196598b7a6cba6ecb58b20ae commit 85d704c5f2603e9c196598b7a6cba6ecb58b20ae Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2022-12-25 23:11:44 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2022-12-25 23:11:44 +0000 audio/openal-soft: unbreak after 145ca5487348 Unbreak build by moving bsd.port.pre.mk include to just before post-patch, and using bsd.port.post.mk at the end. PR: 268495 Reported by: fluffy Fixes: 145ca5487348 MFH: 2022Q4 audio/openal-soft/Makefile | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-)