HomeFreeBSD

emulators/mupen64plus-core: fix build with clang and lld 19

Description

emulators/mupen64plus-core: fix build with clang and lld 19

lld 19 has become more strict about 32-bit relocations that require PIC,
resulting in link errors when building emulators/mupen64plus-core:

    LD  libmupen64plus.so.2.0.0
ld: error: relocation R_386_32 cannot be used against symbol '__gxx_personality_v0'; recompile with -fPIC
>>> defined in /usr/lib/libcxxrt.so
>>> referenced by oglft_c.cpp
>>>               _obj/osd/oglft_c.o:(.eh_frame+0xFA63)

ld: error: relocation R_386_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in _obj/osd/oglft_c.o
>>> referenced by oglft_c.cpp
>>>               _obj/osd/oglft_c.o:(.eh_frame+0xFA81)

ld: error: relocation R_386_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in _obj/osd/oglft_c.o
>>> referenced by oglft_c.cpp
>>>               _obj/osd/oglft_c.o:(.eh_frame+0xFAB1)

ld: error: relocation R_386_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in _obj/osd/oglft_c.o
>>> referenced by oglft_c.cpp
>>>               _obj/osd/oglft_c.o:(.eh_frame+0xFAE1)

[...more of these...]

Make it compile with -fPIC even on i386, by adjusting the PIC make
variable. This also removes the need to use -Wl,-znotext as a workaround.

PR: 281906
Approved by: maintainer timeout (2 weeks)
MFH: 2024Q4

(cherry picked from commit 5416735dea6160ac4efb3cd847936a3213ab1502)

Details

Provenance
dimAuthored on Oct 6 2024, 9:40 PM
Parents
R11:045150b2cda8: multimedia/mjpegtools: fix build with clang 19
Branches
Unknown
Tags
Unknown