[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Help to fix ftbfs on riscv64 about gcl
From: |
Camm Maguire |
Subject: |
Re: Help to fix ftbfs on riscv64 about gcl |
Date: |
Sun, 25 Dec 2022 07:24:05 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Greetings! Think this will do it:
modified gcl/h/elf64_riscv64_reloc.h
@@ -13,6 +13,7 @@
store_val(where,MASK(7)<<25,(s+a)<<20);
break;
case R_RISCV_CALL:
+ case R_RISCV_CALL_PLT:
store_val(where,MASK(20)<<12,riscv_high(s+a-p));
store_val((void *)where+4,MASK(12)<<20,(s+a-p)<<20);
break;
Testing now on Debian autobuilders.
Take care,
"YU Bo" <yuzibode@126.com> writes:
> 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 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.
>
> Two days I sent the mail via gmail, but I found it was rejected because
> unknown searon,
> so I use another mail to send to you.
>
> BR,
> Bo
>
--
Camm Maguire camm@maguirefamily.org
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah