X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fruntime%2FConfig.ppc-darwin;fp=src%2Fruntime%2FConfig.ppc-darwin;h=4f4763244c727c144f16b9479f826b0e9fa205d3;hb=1ebf7c82cd385fe067421c06e2b3970e27a6f4b3;hp=01ec5f61cf6901783058e3ca9eec89c9589a0aed;hpb=7861e493d9ba821f82471b81bed0223d8033a001;p=sbcl.git diff --git a/src/runtime/Config.ppc-darwin b/src/runtime/Config.ppc-darwin index 01ec5f6..4f47632 100644 --- a/src/runtime/Config.ppc-darwin +++ b/src/runtime/Config.ppc-darwin @@ -2,6 +2,7 @@ CFLAGS = -Dppc -g -Wall -O2 -no-cpp-precomp 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 CC = gcc @@ -14,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` 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