Julian Squires <tek@...> writes:
> On Thu, Apr 29, 2004 at 02:38:17PM -0700, John Klein wrote:
> > Summary: Using CC=gcc3 in the build script causes the build to succeed
> > whether or not gcc_select 3.1 is used, but only if
> > the dummy function (or LDB presumably) is included. Using CC=gcc-3.3
> > in the build script causes the build to fail, freezing at the above
> > point, whether or not the extra dummy function is included.
> Except on my 10.2.8 G5, where using CC=gcc and gcc_select 3.3 appears to
> build fine, sans dummy fixup. Can anyone else reproduce this?
I need a dual 2Ghz G5. My machine is just too damn slow.
I've got another data point that should prove to be fun. I left out
sb-ldb and still managed to get a clean build even though I expected
it to fail. First, the global machine setting for gcc:
Current default compiler:
gcc version 3.3 20030304 (Apple Computer, Inc. build 1495)
Now a diff of the only file I changed. I made more than one change,
so some twiddling is necessary to find out what triggers the build
$ cvs diff -u src/runtime/Config.ppc-darwin
RCS file: /cvsroot/sbcl/sbcl/src/runtime/Config.ppc-darwin,v
retrieving revision 1.4
diff -u -r1.4 Config.ppc-darwin
--- src/runtime/Config.ppc-darwin 25 Feb 2004 17:41:44 -0000 1.4
+++ src/runtime/Config.ppc-darwin 29 Apr 2004 22:45:28 -0000
@@ -1,10 +1,13 @@
# -*- makefile -*-
-CFLAGS = -Dppc -g -Wall -O3 -no-cpp-precomp
+# CFLAGS = -Dppc -g -Wall -O3 -no-cpp-precomp
+# No optimization, no warnings, but lottsa debug info for gdb
+CFLAGS = -Dppc -g3 -ggdp -w -no-cpp-precomp
OS_SRC = bsd-os.c os-common.c ppc-darwin-os.c ppc-darwin-dlshim.c
OS_LIBS = -lSystem -lc -lm
# Avoid the gcc 3.3 prerelease tarpit of death!
-CC = gcc3
+# CC = gcc3
+CC = gcc-3.3
ASSEM_SRC = ppc-assem.S ldso-stubs.S
ARCH_SRC = ppc-arch.c
@@ -20,7 +23,7 @@
# FIXME: "-Wl,-segaddr,SBCLRO,0x1000000" is output from
# ppc-darwin-mkrospace (it depends on READ_ONLY_SPACE I believe) but it
# is hard-coded here!
-OS_LINK_FLAGS = -dynamic -L$(HOME)/local/lib -L/sw/lib -L/opt/local/lib -L/usr/local/lib -Wl,-segaddr,SBCLRO,0x1000000 -Wl,-seg1addr,0x5000000 $(if $(AFTER_GROVEL_HEADERS),ppc-darwin-rospace.o)
+OS_LINK_FLAGS = -dynamic -L$(HOME)/usr/lib -L/usr/local/lib -Wl,-segaddr,SBCLRO,0x1000000 -Wl,-seg1addr,0x5000000 $(if $(AFTER_GROVEL_HEADERS),ppc-darwin-rospace.o)
I set CC to gcc-3.3 to match the system. BUT I also changed the
CFLAGS to add extra debug info for gdb and turn off optimizations.
Turning off warnings shouldn't have made a difference. Neither
should the path change for OS_LINK_FLAGS.
I would actually recomend the removal of /sw/lib and /opt/local/lib.
The target machine may not have Fink or Darwin Ports installed.
Besides, I think SBCL should build with the standard Apple shipped
configuration + Xcode 1.1 or later (which has the GCC stuff).
The size of cold-sbcl.core is not affected by these changes. It is
all in the sbcl runtime.
What we have here is a Heisenbug. Well, I can't be certain.
P.S. Reading back over this post, I see I typod the -ggdb option.
Oops. I wonder how that worked.
I wouldn't mind the rat race so much if it wasn't for all the damn cats.