Bug 268495 - audio/openal-soft: fix build with lld 15 on i386
Summary: audio/openal-soft: fix build with lld 15 on i386
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-multimedia (Nobody)
URL:
Keywords:
Depends on:
Blocks: 265425
  Show dependency treegraph
 
Reported: 2022-12-20 22:36 UTC by Dimitry Andric
Modified: 2022-12-25 23:16 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (multimedia)


Attachments
audio/openal-soft: fix build with lld 15 on i386 (2.10 KB, patch)
2022-12-20 22:36 UTC, Dimitry Andric
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric freebsd_committer freebsd_triage 2022-12-20 22:36:17 UTC
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.
Comment 1 Dimitry Andric freebsd_committer freebsd_triage 2022-12-20 22:36:37 UTC
Created attachment 238949 [details]
audio/openal-soft: fix build with lld 15 on i386
Comment 2 commit-hook freebsd_committer freebsd_triage 2022-12-25 17:55:18 UTC
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(+)
Comment 3 commit-hook freebsd_committer freebsd_triage 2022-12-25 23:16:48 UTC
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(-)