Bug 14948 - [4.0 Regression] irix6.5 bootstrap fails in mabi=64/libobjc
Summary: [4.0 Regression] irix6.5 bootstrap fails in mabi=64/libobjc
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: libobjc (show other bugs)
Version: 4.0.0
: P2 critical
Target Milestone: 4.0.0
Assignee: Not yet assigned to anyone
URL:
Keywords: build
Depends on:
Blocks:
 
Reported: 2004-04-13 23:49 UTC by David Billinghurst
Modified: 2004-09-13 14:15 UTC (History)
3 users (show)

See Also:
Host: mips-sgi-irix6.5
Target: mips-sgi-irix6.5
Build: mips-sgi-irix6.5
Known to work:
Known to fail:
Last reconfirmed: 2004-04-15 02:05:24


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Billinghurst 2004-04-13 23:49:33 UTC
irix6.5 bootstrap fails in mabi-64/libobj while linking libobjc.so

Last successful build was cvs updated Wed Apr 7 09:32:15 GMT 2004
First failure was approx 24 hours later.

Failure is:

./libtool --mode=link  /disk4/billingd/obj/gcc/gcc/xgcc -
B/disk4/billingd/obj/gcc/gcc/ -B/disk4/billingd/tmp/gcc/mips-sgi-irix6.5/bin/ -
B/disk4/billingd/tmp/gcc/mips-sgi-irix6.5/lib/ -
isystem /disk4/billingd/tmp/gcc/mips-sgi-irix6.5/include -
isystem /disk4/billingd/tmp/gcc/mips-sgi-irix6.5/sys-include -o libobjc.la 
archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo 
nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo 
selector.lo sendmsg.lo thr.lo thr-objc.lo \
        -rpath /disk4/billingd/tmp/gcc/lib \
        -version-info 1:0:0
/disk4/billingd/obj/gcc/gcc/xgcc -B/disk4/billingd/obj/gcc/gcc/ -
B/disk4/billingd/tmp/gcc/mips-sgi-irix6.5/bin/ -B/disk4/billingd/tmp/gcc/mips-
sgi-irix6.5/lib/ -isystem /disk4/billingd/tmp/gcc/mips-sgi-irix6.5/include -
isystem /disk4/billingd/tmp/gcc/mips-sgi-irix6.5/sys-include -
shared  .libs/archive.o .libs/class.o .libs/encoding.o .libs/gc.o .libs/hash.o 
.libs/init.o .libs/linking.o .libs/misc.o .libs/nil_method.o .libs/NXConstStr.o
 .libs/Object.o .libs/objects.o .libs/Protocol.o .libs/sarray.o .libs/selector.
o .libs/sendmsg.o .libs/thr.o .libs/thr-objc.o  -lc  -Wl,-soname -
Wl,libobjc.so.2 `test -n "sgi2.0" && echo -Wl,-set_version -Wl,sgi2.0` -Wl,-
update_registry -Wl,.libs/so_locations -o .libs/libobjc.so.2.0
ld32: FATAL   12 : Expecting n32 objects: .libs/archive.o is n64.
collect2: ld returned 4 exit status
make[4]: *** [libobjc.la] Error 1


Probable cause is missing -mabi=64 flag.  Will investigate.
Comment 1 Andrew Pinski 2004-04-13 23:53:08 UTC
The thing which changed in libobjc is autoconf 2.59 support was added, maybe that caused it.
Comment 2 david.billinghurst@comalco.riotinto.com.au 2004-04-14 00:01:52 UTC
Subject: RE:  irix6.5 bootstrap fails in mabi=64/libobjc

I will run before and after bootstraps for the autoconf changes.
This is simple and requires no thought.  
Comment 3 David Billinghurst 2004-04-15 01:45:22 UTC
The problem was introduced just after 2004-04-09 12:24 UTC 
by the following change in libobjc:

2004-04-09  Nathanael Nerode  <neroden@gcc.gnu.org>

  * configure.in: Replace old AC_PROG_CC hack with new one.
 Define toplevel_srcdir in terms of srcdir, not top_srcdir (there
 are no subdirectory output files, so this is fine).  Change prereq
 to autoconf 2.59.
 * aclocal.m4: Include ../config/no-executables.m4.
 * configure: Regenerate with autoconf 2.59.

The CC definition in mips-sgi-irix6.5/mabi-64/libobjc/Makefile
has lost "-mabi=64" in the change.  Diff of entire Makefile below

--- gcc-j.1220/mips-sgi-irix6.5/mabi-64/libobjc/Makefile
+++ gcc-j.1225/mips-sgi-irix6.5/mabi-64/libobjc/Makefile
@@ -1,6 +1,5 @@
-# Generated automatically from Makefile.in by configure.
 # Makefile for GNU Objective C runtime library.
-# Copyright (C) 1993, 95-98, 1999, 2001, 2002, 2003, 2004
+# Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004
 # Free Software Foundation, Inc.
 
 #This file is part of GCC.
@@ -33,19 +32,19 @@
 VPATH = /disk4/billingd/src/gcc-j/libobjc
 prefix = /disk4/billingd/tmp/gcc-j
 exec_prefix = ${prefix}
-target_alias = mips-sgi-irix6.5
+target_noncanonical = mips-sgi-irix6.5
 gcc_version = 3.5.0
 gcc_version_trigger = /disk4/billingd/src/gcc-j/libobjc/../gcc/version.c
 top_srcdir = /disk4/billingd/src/gcc-j/libobjc
-toplevel_srcdir = ${top_srcdir}/..
-toolexecdir = $(libdir)/gcc-lib/$(target_alias)
-glibcpp_toolexecdir = $(libdir)/gcc-lib/$(target_alias)
-glibcpp_toolexeclibdir = $(libdir)/mabi=64
+toplevel_srcdir = ${srcdir}/..
+toolexecdir = $(libdir)/gcc-lib/$(target_noncanonical)
+glibcpp_toolexecdir = $(libdir)/gcc-lib/$(target_noncanonical)
+glibcpp_toolexeclibdir = $(libdir)
 
 top_builddir = .
 
 libdir = $(exec_prefix)/lib
-libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
+libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
 
 # Multilib support variables.
 MULTISRCTOP = 
@@ -67,7 +66,7 @@
 
 RANLIB = :
 
-CC = /disk4/billingd/obj/gcc-j/gcc/xgcc -B/disk4/billingd/obj/gcc-j/gcc/ -
B/disk4/billingd/tmp/gcc-j/mips-sgi-irix6.5/bin/ -B/disk4/billingd/tmp/gcc-
j/mips-sgi-irix6.5/lib/ -isystem /disk4/billingd/tmp/gcc-j/mips-sgi-
irix6.5/include -isystem /disk4/billingd/tmp/gcc-j/mips-sgi-irix6.5/sys-
include  -mabi=64
+CC = /disk4/billingd/obj/gcc-j/gcc/xgcc -B/disk4/billingd/obj/gcc-j/gcc/ -
B/disk4/billingd/tmp/gcc-j/mips-sgi-irix6.5/bin/ -B/disk4/billingd/tmp/gcc-
j/mips-sgi-irix6.5/lib/ -isystem /disk4/billingd/tmp/gcc-j/mips-sgi-
irix6.5/include -isystem /disk4/billingd/tmp/gcc-j/mips-sgi-irix6.5/sys-include
 CFLAGS = -O2 -g
 WARN_CFLAGS = -W -Wall -Wwrite-strings -Wstrict-prototypes
 GTHREAD_FLAGS=

Comment 4 Andrew Pinski 2004-04-15 02:05:24 UTC
Thanks for looking into this and finding what caused it.
Comment 5 GCC Commits 2004-04-15 17:05:40 UTC
Subject: Bug 14948

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	neroden@gcc.gnu.org	2004-04-15 17:05:37

Modified files:
	libobjc        : ChangeLog configure configure.ac 

Log message:
	PR libobjc/14948
	* configure.ac: De-precious CC so multilibs work.
	* configure: Regenerate.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/ChangeLog.diff?cvsroot=gcc&r1=1.123&r2=1.124
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/configure.diff?cvsroot=gcc&r1=1.42&r2=1.43
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/configure.ac.diff?cvsroot=gcc&r1=1.3&r2=1.4

Comment 6 Nathanael C. Nerode 2004-04-15 17:06:40 UTC
CC has to be de-precioused.  :-P  Having hit this before, I'm pretty much 
certain that that change, which I just made, will fix it; reopen this bug and 
assign it to me if it doesn't. 
Comment 7 david.billinghurst@comalco.riotinto.com.au 2004-04-15 23:46:47 UTC
Subject: RE:  [3.5 Regression] irix6.5 bootstrap fails in mabi=64/libobjc

> From: neroden at gcc dot gnu dot org 
>
> CC has to be de-precioused.  

That fixed it.  I was hoping it was a familiar issue.  Thanks.
Comment 8 GCC Commits 2004-04-16 12:48:34 UTC
Subject: Bug 14948

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	tree-ssa-20020619-branch
Changes by:	pinskia@gcc.gnu.org	2004-04-16 12:48:29

Modified files:
	libobjc        : ChangeLog configure configure.ac 

Log message:
	2004-04-15  Nathanael Nerode  <neroden@gcc.gnu.org>
	
	PR libobjc/14948
	* configure.ac: De-precious CC so multilibs work.
	* configure: Regenerate.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/ChangeLog.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.80.2.24&r2=1.80.2.25
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/configure.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.23.2.13&r2=1.23.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/configure.ac.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.2.2.2&r2=1.2.2.3