X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2FConfig.ppc-darwin;h=88b8624ab3ce30b8ec3054299b86dd6062c11b8a;hb=343ef95fda9da33830d5ab6aabe5368c898f0918;hp=0b136ab346ec0159e68026194e9132bdb9399c23;hpb=383a00c5ce6b5fc05b9a00661b088efcef1afcb9;p=sbcl.git diff --git a/src/runtime/Config.ppc-darwin b/src/runtime/Config.ppc-darwin index 0b136ab..88b8624 100644 --- a/src/runtime/Config.ppc-darwin +++ b/src/runtime/Config.ppc-darwin @@ -1,10 +1,10 @@ # -*- makefile -*- -CFLAGS = -Dppc -g -Wall -O2 -no-cpp-precomp +CFLAGS = -Dppc -g -Wall -O2 -no-cpp-precomp -fdollars-in-identifiers OS_SRC = bsd-os.c os-common.c ppc-darwin-os.c ppc-darwin-dlshim.c ppc-darwin-langinfo.c OS_LIBS = -lSystem -lc -lm +OS_OBJS = ppc-darwin-rospace.o -# Avoid the gcc 3.3 prerelease tarpit of death! -CC = gcc3 +CC = gcc ASSEM_SRC = ppc-assem.S ldso-stubs.S ARCH_SRC = ppc-arch.c @@ -15,32 +15,30 @@ CPP = cpp -no-cpp-precomp # expect our read-only space mapped. This hack causes the linker to # place a zero-fill-on-demand segment in the same place and size as # read-only-space, which is the only thing capable of keeping malloc -# out of this range." -# -# 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 -Wl,-segaddr,SBCLRO,0x1000000 -Wl,-seg1addr,0x5000000 $(if $(AFTER_GROVEL_HEADERS),ppc-darwin-rospace.o) +# out of this range. +OS_LINK_FLAGS = -dynamic `cat ppc-darwin-link-flags` -twolevel_namespace -bind_at_load GC_SRC= cheneygc.c -CLEAN_FILES += ppc-darwin-mkrospace +CLEAN_FILES += ppc-darwin-mkrospace ppc-darwin-fix-rospace ppc-darwin-link-flags ppc-darwin-mkrospace: ppc-darwin-mkrospace.c - $(CC) -o $@ $< + $(CC) -g -Wall -pedantic -o $@ $< -ppc-darwin-rospace.o: ppc-darwin-mkrospace - ./ppc-darwin-mkrospace +ppc-darwin-fix-rospace: ppc-darwin-fix-rospace.c + $(CC) -g -Wall -pedantic -o $@ $< + +ppc-darwin-rospace.o ppc-darwin-link-flags: ppc-darwin-mkrospace + ./ppc-darwin-mkrospace > ppc-darwin-link-flags .PHONY: after-grovel-headers -# Rebuild the sbcl runtime to avoid Panther placing the heap where +# Fix the sbcl runtime to avoid Panther placing the heap where # it wants read only space (in the first 32 megabytes, where it # can be absolute-branched to with BA.) Must be done after # grovel-headers, because Apple's nm is broken. -after-grovel-headers: ppc-darwin-rospace.o - rm -f sbcl - $(GNUMAKE) sbcl AFTER_GROVEL_HEADERS=1 +after-grovel-headers: ppc-darwin-fix-rospace + ./ppc-darwin-fix-rospace # Fortunatly make-target-1.sh does a make clean all the time. # Otherwise we would have to make sure that sbcl gets rebuilt without