Greetings, and thanks for your report! Yes, debian unstable bintutils has output a new reloc for riscv64 which is not covered yet. I have an emulator here which I used to implement the port originally. I will add support for the new reloc when I get a moment to fire it up again.
Take care, Bo YU <[email protected]> writes: > Hi, > > On Fri, Dec 23, 2022 at 11:34 AM Bo YU <[email protected]> wrote: >> >> Hi camm, >> >> The gcl(2.6.13-3) has a ftbfs issue on riscv64: >> >> ``` >> >> >;; Loading "../tkl.o" >> Unknown reloc type 19 >> >> Error: ERROR "The assertion !emsg(\"Unknown reloc type %lu\\n\", tp) >> on line 186 of sfaslelf.c in function relocate failed: Success" >> Fast links are on: do (si::use-fast-links nil) for debugging >> Signalled by LOAD. >> ERROR "The assertion !emsg(\"Unknown reloc type %lu\\n\", tp) on line >> 186 of sfaslelf.c in function relocate failed: Success" >> >> Broken at LOAD. Type :H for Help. >> 1 Return to top level. >> >> >> Error: UNDEFINED-FUNCTION :NAME TK::GET-AUTOLOADS >> Fast links are on: do (si::use-fast-links nil) for debugging >> Signalled by LOAD. >> >> UNDEFINED-FUNCTION :NAME TK::GET-AUTOLOADS >> >> Broken at LOAD. >> 1 (abort) Return to debug level 1. >> 2 Return to top level. >> >>>make[2]: *** [makefile:24: all] Error 255 >> ... >> ``` >> I grep the difference with 2.6.13-2 between 2.6.13-3, but not sure >> which part will lead to this issue. >> >> In 2.6.7-66, there is one issue to be fixed on mips, but I can not >> find code cluse:) > Sorry, it should be ppc. I downloaded the tarball file from > snapshot.debian.org: > > ``` > +++ gcl-2.6.7/h/elf32_ppc_reloc.h > @@ -1,12 +1,3 @@ > - case R_PPC_REL24: /*FIXME, this is just for mcount, and reads > through the trampoline */ > - s+=a; > - s=*(ul *)s; > - if (ovchks(s,~MASK(26))) > - store_val(where,MASK(26),s|0x3); > - else if (ovchks(s-p,~MASK(26))) > - store_val(where,MASK(26),(s-p)|0x1); > - else massert(!"REL24 overflow"); > - break; > case R_PPC_ADDR16_HA: > > ``` > > The problem maybe is here( elf64_riscv64_reloc.h); > ``` > case R_RISCV_RELAX:/*FIXME figure out how to delete instructions efficiently*/ > break; > > ``` >> Because I am new to gcl, so could you have a look? I have real riscv64 >> hardware by hand and can test it. Many thanks. >> >> I should open a reportbug as is, but I think the riscv64 arch is not >> release arch, this will increase the burden to the maintainers of >> packages. Or I have one patch to fix one issue then I open a bug, so, >> sorry, I disturb you in a private way. >> >> BR, >> Bo > > > -- Camm Maguire [email protected] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah
