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. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils