Re: [PATCH v4] MIPS: introduce config option to force use FR=0 for FPXX binary

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 28 Feb 2021, Maciej W. Rozycki wrote:

>  Nope, quoting include/elf/mips.h from GNU binutils:
> 
>   /* Not tagged or not using any ABIs affected by the differences.  */
>   Val_GNU_MIPS_ABI_FP_ANY = 0,
> 
> which means that the object file *either* does not use FP *or* has not 
> been tagged at all, as the GNU linker does not tell these two cases apart 
> internally (yes, quite useless semantics, but there you go; I think the 
> enumeration constant of 0 shouldn't have been chosen for any explicit tag, 
> or possibly for double float instead, so this is an ABI design mistake).

 FAOD I think the original intent was to make non-tagged legacy objects 
link-compatible with any FP ABI under the assumption that the user knows 
what he's doing.  While that is acceptable, it shouldn't have implied the 
absence of FP code in such legacy objects.  Instead legacy properties 
should have been implied, that is double FP and likewise legacy NaN.  It 
would have been easier if a non-zero enumeration constant was assigned to 
Val_GNU_MIPS_ABI_FP_ANY, as generic GNU linker code considers the absence 
of a given tag equivalent to that tag being equal zero.  This still can be 
handled, but complicates matters.

  Maciej



[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux