build failure for ia64 (due to -Werror)

James E Wilson wilson@specifixinc.com
Fri Mar 18 22:15:00 GMT 2005


On Fri, 2005-03-18 at 04:21, Alan Modra wrote:
> I would guess 32-bit host, no --enable-64-bit-bfd.  Then "bfd_vma insn"
> is 32-bit and ia64_insn is long long.  There's worse things in that code
> than type-punned pointers..

I believe this can only happen if --enable-targets=all is used.

I see this is a documented feature in configure.in.  This seems like a
flaw to me.  The elfxx-ia64.c file won't work without a 64-bit integer
type, and it seems unreasonable to try to fix this.  A quick look seems
to suggest that other elf64-* files have the same problem.  elf64-ppc.c
is using bfd_get_64 for instance, as are some others.

I suppose I could add something like
#ifndef BFD64
#error This target requires a 64 bit integer type.
#endif
to the elfxx-ia64.c file to make the problem more obvious if people
think something needs to be done.

It might be better to fix the --enable-targets=all support.  We have
enough 64-bit targets by now that perhaps --enable-targets=all should
force use of BFD64.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com




More information about the Binutils mailing list