Building lang/php/{8.1,8.2} fails on mips64: /usr/bin/ld: Zend/asm/.libs/make_mips64_n64_elf_gas.o: CALL16 reloc at 0x14 not against global symbol Zend/asm/.libs/make_mips64_n64_elf_gas.o: could not read symbols: Bad value cc: error: linker command failed with exit code 1 (use -v to see invocation)
Make the offending symbol explicitly local so that the assembler produces a local GOT reference. This fixes the build. Index: 8.1/patches/patch-Zend_asm_make_mips64_n64_elf_gas_S =================================================================== RCS file: 8.1/patches/patch-Zend_asm_make_mips64_n64_elf_gas_S diff -N 8.1/patches/patch-Zend_asm_make_mips64_n64_elf_gas_S --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 8.1/patches/patch-Zend_asm_make_mips64_n64_elf_gas_S 28 Aug 2023 15:04:01 -0000 @@ -0,0 +1,13 @@ +Avoid an incorrect R_MIPS_CALL16 relocation with a local symbol. + +Index: Zend/asm/make_mips64_n64_elf_gas.S +--- Zend/asm/make_mips64_n64_elf_gas.S.orig ++++ Zend/asm/make_mips64_n64_elf_gas.S +@@ -70,6 +70,7 @@ make_fcontext: + sd $gp, 136($v0) + + # psudo instruction compute abs address of label finish based on GP ++ .local finish + dla $t9, finish + + # save address of finish as return-address for context-function Index: 8.2/patches/patch-Zend_asm_make_mips64_n64_elf_gas_S =================================================================== RCS file: 8.2/patches/patch-Zend_asm_make_mips64_n64_elf_gas_S diff -N 8.2/patches/patch-Zend_asm_make_mips64_n64_elf_gas_S --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 8.2/patches/patch-Zend_asm_make_mips64_n64_elf_gas_S 28 Aug 2023 15:04:01 -0000 @@ -0,0 +1,13 @@ +Avoid an incorrect R_MIPS_CALL16 relocation with a local symbol. + +Index: Zend/asm/make_mips64_n64_elf_gas.S +--- Zend/asm/make_mips64_n64_elf_gas.S.orig ++++ Zend/asm/make_mips64_n64_elf_gas.S +@@ -70,6 +70,7 @@ make_fcontext: + sd $gp, 136($v0) + + # psudo instruction compute abs address of label finish based on GP ++ .local finish + dla $t9, finish + + # save address of finish as return-address for context-function