Created attachment 188029 [details] Fix lang/luajit object file .strtab size When luajit writes a ELF object file (using the -b option), it sets the size of the .strtab section one byte too short. In function bcsave_elfobj(), the offset of the .rodata section after .strtab is already calculated correctly, but the size of .strtab itself is one byte too small. Even though there is a zero byte after the last string in the table, the short size causes lld (the LLVM linker) to show an error message similar to: ld: error: obj/bytecode.o: string table non-null terminated See also https://github.com/LuaJIT/LuaJIT/pull/366, and bug 214864 (specifically the benchmarks/wrk failure).
Dimitry's change has been accepted upstream. Can this port patch be committed so that it works in our tree while waiting for a new version?
Over to portmgr for approval.
Approved (maintainer timeout, 45days + portmgr approval) Don't forget to bump PORTREVISION.
A commit references this bug: Author: dim Date: Sun Dec 31 00:50:32 UTC 2017 New revision: 457655 URL: https://svnweb.freebsd.org/changeset/ports/457655 Log: Fix lang/luajit object file .strtab section size When luajit writes a ELF object file (using the -b option), it sets the size of the .strtab section one byte too short. In function bcsave_elfobj(), the offset of the .rodata section after .strtab is already calculated correctly, but the size of .strtab itself is one byte too small. Even though there is a zero byte after the last string in the table, the short size causes lld (the LLVM linker) to show an error message similar to: ld: error: obj/bytecode.o: string table non-null terminated Fix it by increasing the size of the .strtab section by one byte. This change has also been accepted upstream, but there is no new stable release yet. Approved by: portmgr (antoine) PR: 223688 Changes: head/lang/luajit/Makefile head/lang/luajit/files/patch-src_jit_bcsave.lua