build failure for ia64 (due to -Werror)
James E Wilson
wilson@specifixinc.com
Wed Mar 23 09:45:00 GMT 2005
On Fri, 2005-03-18 at 15:49, Alan Modra wrote:
> This only hides other more serious bugs in this function if bfd_vma is
> 32-bit. For instance,
I don't see any benefit from fixing elfxx-ia64.c to work with a 32-bit
bfd_vma. IA-64 is a true 64-bit architecture, like alpha. There is no
32-bit subset architecture. All IA-64 operating systems are 64-bit
operating systems that require a 64-bit bfd_vma. This is enforced in
config.bfd.
One system, HPUX, supports an ILP32 ABI, but since this is implemented
with 64-bit operations, and uses 64-bit addresses, gdb at least needs to
be 64-bit aware, and I would argue that bfd does to.
Also, I'd like to point out that the build failures being discussed here
can not be reproduced with any IA-64 target, nor on an IA-64 host. They
can only be reproduced on a (non-IA-64) 32-bit host using
--enable-targets=all.
If we did have a 32-bit IA-64 target, then yes, we should make a 32-bit
bfd_vma work. But meanwhile, I think this is unwise. It just creates
maintenance problems for the IA-64 maintainer (me), because no one will
remember that we must support a 32-bit bfd_vma. Also, this potentially
hurts the performance of the IA-64 bfd support if we can't assume use of
64-bit operations even though this is a 64-bit target.
My attempts to look at this are hampered by the fact that I can't
actually reproduce it on any of the machines I normally use for
development. Either they are 64-bit machines, or they don't have the
right gcc versions needed to trigger the error Ben saw.
Anyways, I think the right solution is what Ian suggested, which is to
remove elf32-ia64.lo from BDF32_BACKENDS.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com
-------------- next part --------------
2005-03-22 James E Wilson <wilson@specifixinc.com>
* Makefile.am (BFD32_BACKENDS): Delete elf32-ia64.lo.
(BFD64_BACKENDS): Add elf32-ia64.lo.
* Makefile.in: Regenerate.
Index: Makefile.am
===================================================================
RCS file: /cvs/src/src/bfd/Makefile.am,v
retrieving revision 1.149
diff -p -p -r1.149 Makefile.am
*** Makefile.am 2 Mar 2005 09:03:48 -0000 1.149
--- Makefile.am 23 Mar 2005 04:30:13 -0000
*************** BFD32_BACKENDS = \
*** 237,243 ****
elf32-i386.lo \
elf32-i860.lo \
elf32-i960.lo \
- elf32-ia64.lo \
elf32-ip2k.lo \
elf32-iq2000.lo \
elf32-m32r.lo \
--- 237,242 ----
*************** BFD32_BACKENDS_CFILES = \
*** 509,514 ****
--- 508,515 ----
# The .o files needed by all of the 64 bit vectors that are configured into
# target_vector in targets.c if configured with --enable-targets=all
# and --enable-64-bit-bfd.
+ # elf32-ia64.c requires a 64-bit bfd_vma, and hence can not be put in
+ # BFD32_BACKENDS.
BFD64_BACKENDS = \
aix5ppc-core.lo \
aout64.lo \
*************** BFD64_BACKENDS = \
*** 519,524 ****
--- 520,526 ----
elf64-x86-64.lo \
elf64-alpha.lo \
elf64-hppa.lo \
+ elf32-ia64.lo \
elf64-ia64.lo \
elf64-gen.lo \
elfn32-mips.lo \
Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/bfd/Makefile.in,v
retrieving revision 1.163
diff -p -p -r1.163 Makefile.in
*** Makefile.in 2 Mar 2005 09:03:50 -0000 1.163
--- Makefile.in 23 Mar 2005 04:30:13 -0000
*************** BFD32_BACKENDS = \
*** 476,482 ****
elf32-i386.lo \
elf32-i860.lo \
elf32-i960.lo \
- elf32-ia64.lo \
elf32-ip2k.lo \
elf32-iq2000.lo \
elf32-m32r.lo \
--- 476,481 ----
*************** BFD32_BACKENDS_CFILES = \
*** 749,754 ****
--- 748,755 ----
# The .o files needed by all of the 64 bit vectors that are configured into
# target_vector in targets.c if configured with --enable-targets=all
# and --enable-64-bit-bfd.
+ # elf32-ia64.c requires a 64-bit bfd_vma, and hence can not be put in
+ # BFD32_BACKENDS.
BFD64_BACKENDS = \
aix5ppc-core.lo \
aout64.lo \
*************** BFD64_BACKENDS = \
*** 759,764 ****
--- 760,766 ----
elf64-x86-64.lo \
elf64-alpha.lo \
elf64-hppa.lo \
+ elf32-ia64.lo \
elf64-ia64.lo \
elf64-gen.lo \
elfn32-mips.lo \
More information about the Binutils
mailing list