> From: Jeremie Courreges-Anglas <[email protected]>
> Date: Sun, 24 Oct 2021 17:30:46 +0100
> 
> clang(1) defaults to FP ABI but ld(1) -melf64lriscv doesn't.  This is
> a problem as soon as a port tries to use raw ld(1) -b binary to embed
> data in a .o file.
> 
> Downgrading this hard error to a warning seems more useful as far as the
> ports tree is concerned.  The diff below fixes
> databases/postgresql-pllua and should also fix textproc/mupdf and net/utox.
> 
> There's another diff here: https://reviews.llvm.org/D106378
> but it's slightly more complicated and it received seemingly negative
> feedback.  So I'm just using a minimal change to fit our needs.
> 
> ok?

I think we should try to avoid deviating from upstream as much as
possible.  And I agree with the folks who argue that the mismatching
objects are created with the wrong tools.  But if mortimer@ and
patrick@ can deal with carrying this local modification I won't
object.

> Index: ELF/Arch/RISCV.cpp
> ===================================================================
> RCS file: /cvs/src/gnu/llvm/lld/ELF/Arch/RISCV.cpp,v
> retrieving revision 1.1.1.2
> diff -u -p -r1.1.1.2 RISCV.cpp
> --- ELF/Arch/RISCV.cpp        28 Apr 2021 12:29:31 -0000      1.1.1.2
> +++ ELF/Arch/RISCV.cpp        24 Oct 2021 15:55:49 -0000
> @@ -122,8 +122,8 @@ uint32_t RISCV::calcEFlags() const {
>        target |= EF_RISCV_RVC;
>  
>      if ((eflags & EF_RISCV_FLOAT_ABI) != (target & EF_RISCV_FLOAT_ABI))
> -      error(toString(f) +
> -            ": cannot link object files with different floating-point ABI");
> +      warn(toString(f) +
> +            ": linking object files with different floating-point ABI");
>  
>      if ((eflags & EF_RISCV_RVE) != (target & EF_RISCV_RVE))
>        error(toString(f) +
> 
> 
> -- 
> jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE
> 
> 

Reply via email to