https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117831

Huaqi <fanghuaqi at vip dot qq.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fanghuaqi at vip dot qq.com

--- Comment #5 from Huaqi <fanghuaqi at vip dot qq.com> ---
(In reply to Xi Ruoyao from comment #3)
> You are misreading the disassembly.  We actually have
> 
>   42: 00000097                auipc   ra,0x0
>                       42: R_RISCV_CALL_PLT    __muldi3
>                       42: R_RISCV_RELAX       *ABS*
>   46: 000080e7                jalr    ra # 42 <.L3+0xa>
> 
> so it's calling a function, not a dead loop.  It's just the actual address
> of the function has not be filled in (the linker should do it) yet.

Hi Ruoyao,

I think `mul_u64` is used to replace the libgcc's implementation `__muldi3`,
which means it should not expect there is a `__muldi3` and call it, how can I
achieve to compile this code and generate correct asm code, without calling
libgcc's `__muldi3`

Reply via email to