devel/llvm/18 fails to build on mips64 because of too large GOT while linking libLLVM.so. This can be fixed by compiling the code using the extended GOT access pattern.
devel/llvm/19 and future versions probably result in large GOTs too, so those might need the same fix. This is just my guessing, though. OK? Index: Makefile.inc =================================================================== RCS file: ports/devel/llvm/Makefile.inc,v diff -u -p -r1.20 Makefile.inc --- Makefile.inc 21 Dec 2024 11:39:33 -0000 1.20 +++ Makefile.inc 21 Jan 2025 15:20:29 -0000 @@ -111,6 +111,13 @@ CXXFLAGS-i386 = -fno-ret-protector -mno CXXFLAGS-mips64 = -fno-ret-protector -fomit-frame-pointer CXXFLAGS-mips64el = -fno-ret-protector -fomit-frame-pointer CXXFLAGS-powerpc = -fno-ret-protector + +# Avoid GOT overflow. +.if ${LLVM_MAJOR} > 17 +CXXFLAGS-mips64 += -mxgot +CXXFLAGS-mips64el += -mxgot +.endif + CXXFLAGS += ${CXXFLAGS-${MACHINE_ARCH}} ALL_TARGET = all docs-llvm-man docs-clang-man