[PATCH] Don't define ARCH_cris for BFD64

Hans-Peter Nilsson hp@axis.com
Thu May 5 12:56:08 GMT 2022


> From: Pedro Alves <pedro@palves.net>
> Date: Thu, 5 May 2022 13:11:29 +0200

> On 2022-05-04 23:37, Alan Modra via Binutils wrote:
> 
> > OK, so this means we have two slightly different versions of cris
> > support.  Configured to support cris directly with --target or
> > --enable-targets mentioning one of the cris tuples will always give
> > you a 64-bit bfd.  On a 32-bit host configured with
> > --enable-targets=all you'll get a 32-bit bfd, and miss some support
> > for explicitly choosing and displaying targets.  (The #ifdef comments
> > in config.bfd are used to generate targmatch.h, which gets included
> > into targets.c.)
> 
> I guess I don't understand the logic fully, and if you have the patience for me, I'd like
> to understand it better.
> 
> In the --enable-targets=all case with a 32-bit bfd, it seems counterintuitive to want to be able to choose
> and display cris, if its bfd supposedly wants 64-bit, given want64=true.  If bfd says cris wants
> 64-bit bfd, and you have a 32-bit bfd, it seems weird to build it in 32-bit mode, and let users choose and
> use it?  
> 
> I just tried a 32-bit --enable-targets=all --disable-sim build of current master, and indeed we end
> up with these files built:
> 
>  $ ls bfd/*cris*
>  bfd/aout-cris.lo  bfd/aout-cris.o  bfd/cpu-cris.lo  bfd/cpu-cris.o  bfd/elf32-cris.lo  bfd/elf32-cris.o
> 
> however, those are built with a 32-bit bfd ("#define BFD_ARCH_SIZE 32" in bfd/bfd.h), which if we
> trust win64=true (and 56fbd041853a "Fix gas/22304 by forcing a 64-bit bfd for cris*-*") is not
        ^^^^^
There's your problem! :)
(want64=true)

> supposed to happen.

Right.  I somehow thought with --enable-targets=all we'd get
a 64-bit bfd_vma but sure, then we'd not be discussing this.

But I agree we should make that change.

Host systems (with a compiler) without a 64-bit type these
days seem IMHO unlikely to be suitable as hosts, at least
not for --enable-targets=all and newer binutils (+gdb+sim).

brgds, H-P


More information about the Binutils mailing list