bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/24389] can't link soft-float modules with double-float modules


From: wilson at gcc dot gnu.org
Subject: [Bug ld/24389] can't link soft-float modules with double-float modules
Date: Thu, 28 Mar 2019 16:29:44 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=24389

--- Comment #4 from Jim Wilson <wilson at gcc dot gnu.org> ---
I don't see a way to specify this in the linker either.

I looked at gas, and noticed that it is broken also, but slightly differently. 
Gas is defaulting to rv64g/lp64d when configured for 64-bit, and rv32g/ilp32d
for 32-bit, which is correct for desktop linux, but may be wrong for embedded
linux.  This is wrong for the Andes 32-bit linux target which is soft-float for
instance.  In gas/configure.ac, the NDS target has support to use with_arch to
set NDS32_DEFAULT_ARCH_NAME.  We could use a similar scheme to pass default
arch/abi info from configure into gas to solve this problem.

But unfortunately I don't see any similar existing scheme in the linker using
with_arch.

We do already have 6 different emulation targets for the 6 ABIs we currently
support.  Perhaps we can add something into the emulation file to indicate
default elf flags settings, and then arrange that the correct emulation file is
the default one based on with_arch/with_abi settings.  That would require some
experimentation to see if it can work, and how it would work.

Maybe we can expand the list of riscv machines we have.  Currently we just have
bfd_mach_riscv32 and bfd_mach_riscv64, but maybe we should have 6 of them, for
the 6 different ABIs that we support.  Maybe that can be set from
with_arch/with_abi and/or from the emulation files.

I see that ld has a -A (--architecture) option.  Maybe we can use that, but
that probably requires the new bfd_mach_riscv* entries first.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

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