X-Git-Url: http://git.csclub.uwaterloo.ca/?p=kopensolaris-gnu%2Fglibc.git;a=blobdiff_plain;f=csu%2FMakefile;h=cb9e6eb6aa4528db4918b6d3b186093525365d05;hp=baafac57181bbd1cf91a460e3ad6dacd43914916;hb=498ae94d188e914524ee6f6bcda3bf75809b1359;hpb=fc96f35d7d800ded8e5d7198ccada1797887e832 diff --git a/csu/Makefile b/csu/Makefile index baafac5718..cb9e6eb6aa 100644 --- a/csu/Makefile +++ b/csu/Makefile @@ -32,7 +32,6 @@ csu-dummies = $(filter-out $(start-installed-name),crt1.o Mcrt1.o) extra-objs = start.o gmon-start.o \ $(start-installed-name) g$(start-installed-name) \ $(csu-dummies) -before-compile = $(objpfx)abi-tag.h omit-deps = $(patsubst %.o,%,$(start-installed-name) g$(start-installed-name) \ $(csu-dummies)) install-lib = $(start-installed-name) g$(start-installed-name) \ @@ -43,6 +42,9 @@ all: # Make this the default target; it will be defined in Rules. include ../Makeconfig +ifeq ($(elf),yes) +before-compile = $(objpfx)abi-tag.h +endif ifeq ($(have-initfini),yes) @@ -55,15 +57,17 @@ crtstuff = crti crtn install-lib += $(crtstuff:=.o) extra-objs += $(crtstuff:=.o) -generated += $(crtstuff:=.S) initfini.s align.h end.h +generated += $(crtstuff:=.S) initfini.s defs.h omit-deps += $(crtstuff) # Special rules for the building of crti.o and crtn.o $(objpfx)crt%.o: $(objpfx)crt%.S $(objpfx)defs.h $(compile.S) -g0 $(ASFLAGS-.os) -o $@ +CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions + $(objpfx)initfini.s: initfini.c - $(compile.c) -O0 -g0 -S -fPIC -finhibit-size-directive \ + $(compile.c) -S $(CFLAGS-initfini.s) -finhibit-size-directive \ $(no-exceptions) -o $@ # We only have one kind of startup code files. Static binaries and @@ -126,6 +130,7 @@ $(addprefix $(objpfx),$(filter-out $(start-installed-name),$(csu-dummies))): / := $$/# bite me. $(objpfx)abi-tag.h: $(..)abi-tags + $(make-target-directory) rm -f $@.new sed 's/#.*$//;/^[ ]*$$/d' $< | while read conf tag; do \ test `expr '$(config-machine)-$(config-vendor)-$(config-os)' \