gcl-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]