Bug 20252

Summary: [4.1 regression] Libobjc build broken
Product: gcc Reporter: Hans-Peter Nilsson <hp>
Component: libobjcAssignee: Andrew Pinski <pinskia>
Status: RESOLVED FIXED    
Severity: critical CC: gcc-bugs
Priority: P2 Keywords: build
Version: 4.1.0   
Target Milestone: 4.1.0   
Host: Target: cris-axis-elf
Build: Known to work:
Known to fail: Last reconfirmed: 2005-02-28 19:25:33

Description Hans-Peter Nilsson 2005-02-28 19:23:57 UTC
Build worked with LAST_UPDATED: "Mon Feb 28 03:50:27 UTC 2005".
Build fails with LAST_UPDATED: "Mon Feb 28 18:49:50 UTC 2005".

Last few lines of log:
checking how to run the C preprocessor...
/home/hp/cvs_areas/combined/cris-regobj/./gcc/xgcc -B/hom\
e/hp/cvs_areas/combined/cris-regobj/./gcc/ -nostdinc
-B/home/hp/cvs_areas/combined/cris-regobj/cris\
-unknown-elf/v10/newlib/ -isystem
/home/hp/cvs_areas/combined/cris-regobj/cris-unknown-elf/v10/newl\
ib/targ-include -isystem
/home/hp/cvs_areas/combined/combined/newlib/libc/include -B/tmp/reg-cris/c\
ris-unknown-elf/bin/ -B/tmp/reg-cris/cris-unknown-elf/lib/ -isystem
/tmp/reg-cris/cris-unknown-elf/\
include -isystem /tmp/reg-cris/cris-unknown-elf/sys-include
-L/home/hp/cvs_areas/combined/cris-rego\
bj/./ld  -march=v10 -mbest-lib-options -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... no
checking for strings.h... no
checking for inttypes.h... no
checking for stdint.h... no
checking for unistd.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking for ANSI C header files... (cached) yes
checking sched.h usability... no
checking sched.h presence... no
checking for sched.h... no
checking for gthread cflags... configure: error: not found
make[1]: *** [configure-target-libobjc] Error 1
make[1]: Leaving directory `/home/hp/cvs_areas/combined/cris-regobj'
+ exit 1

A recent change to libobjc/configure.ac within this time-frame looks suspicious:
! [# we know we are compiled as a target library, so the toplevel build
directory
! # is ../..
! if test -f ../../$host_subdir/gcc/Makefile

That's false; it's not true for multilibs, which are nested an arbitrary level
within the target subdir.
Comment 1 Andrew Pinski 2005-02-28 19:25:33 UTC
Confirmed, testing a patch as I type this.
Comment 2 GCC Commits 2005-02-28 20:05:08 UTC
Subject: Bug 20252

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	pinskia@gcc.gnu.org	2005-02-28 20:04:42

Modified files:
	libobjc        : ChangeLog Makefile.in config.h.in configure 
	                 configure.ac thr-objc.c 

Log message:
	2005-02-28  Andrew Pinski <pinskia@physics.uc.edu>
	
	PR libobjc/20252
	* Makefile.in (GTHREAD_FLAGS): Remove.
	(ALL_CFLAGS): Remove usage of GTHREAD_FLAGS.
	* thr-objc.c: Include config.h.
	* configure.ac: Instead of looking at GCC's makefile, figure out if
	GTHREAD_FLAGS should be defined by looking at the `thread model'
	of the current gcc.
	* configure: Regenerate.
	* config.h.in: Regenerate.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/ChangeLog.diff?cvsroot=gcc&r1=1.158&r2=1.159
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/Makefile.in.diff?cvsroot=gcc&r1=1.45&r2=1.46
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/config.h.in.diff?cvsroot=gcc&r1=1.5&r2=1.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/configure.diff?cvsroot=gcc&r1=1.57&r2=1.58
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/configure.ac.diff?cvsroot=gcc&r1=1.13&r2=1.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/thr-objc.c.diff?cvsroot=gcc&r1=1.3&r2=1.4

Comment 3 Andrew Pinski 2005-02-28 20:05:23 UTC
Fixed, thanks for the report in both bug reports and IRC.