From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14980 invoked by alias); 23 Mar 2005 04:35:50 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 14954 invoked from network); 23 Mar 2005 04:35:45 -0000 Received: from unknown (HELO bluesmobile.specifixinc.com) (64.220.152.98) by sourceware.org with SMTP; 23 Mar 2005 04:35:45 -0000 Received: from [127.0.0.1] (bluesmobile.corp.specifixinc.com [192.168.1.2]) by bluesmobile.specifixinc.com (Postfix) with ESMTP id 627F7167EB; Tue, 22 Mar 2005 20:35:45 -0800 (PST) Subject: Re: build failure for ia64 (due to -Werror) From: James E Wilson To: Alan Modra Cc: Andreas Schwab , Nick Clifton , Ben Elliston , binutils@sources.redhat.com In-Reply-To: <20050318234920.GE21148@bubble.modra.org> References: <423A2ADB.6090807@au.ibm.com> <423ABA6A.4030409@redhat.com> <20050318122113.GY21148@bubble.modra.org> <1111177693.9897.18.camel@aretha.corp.specifixinc.com> <20050318234920.GE21148@bubble.modra.org> Content-Type: multipart/mixed; boundary="=-F5f+kVgNnOPVkWbJCVvc" Message-Id: <1111552545.18829.96.camel@aretha.corp.specifixinc.com> Mime-Version: 1.0 Date: Wed, 23 Mar 2005 09:45:00 -0000 X-SW-Source: 2005-03/txt/msg00698.txt.bz2 --=-F5f+kVgNnOPVkWbJCVvc Content-Type: text/plain Content-Transfer-Encoding: 7bit Content-length: 1713 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 --=-F5f+kVgNnOPVkWbJCVvc Content-Disposition: attachment; filename=patch.32-bit.ia-64 Content-Type: text/plain; name=patch.32-bit.ia-64; charset=utf-8 Content-Transfer-Encoding: 7bit Content-length: 2352 2005-03-22 James E Wilson * 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 \ --=-F5f+kVgNnOPVkWbJCVvc--