2009-11-27 Magnus Granberg bug #292139 * Makeconfig +link-pie: set +link to +link-pie +link-static: change $(static-start-installed-name) to S$(static-start-installed-name) +prector: set +prector to +prectorS +postctor: set +postctor to +postctorS bug #293637 * Makeconfig: CPPFLAGS ruls Add -DPIC * debug/Makefile Add CPPFLAGS-____longjmp_chk.o = -UPIC static linking fail with undefined reference to `__GI___fortify_fail' --- a/Makeconfig 2009-11-06 16:39:18.000000000 +0100 +++ b/Makeconfig 2009-11-08 03:14:45.000000000 +0100 @@ -447,11 +447,12 @@ $(common-objpfx)libc% $(+postinit),$^) \ $(link-extra-libs) $(link-libc) $(+postctorS) $(+postinit) endif ++link = $(+link-pie) # Command for statically linking programs with the C library. ifndef +link-static +link-static = $(CC) -nostdlib -nostartfiles -static -o $@ \ $(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \ - $(addprefix $(csu-objpfx),$(static-start-installed-name)) \ + $(addprefix $(csu-objpfx),S$(static-start-installed-name)) \ $(+preinit) $(+prector) \ $(filter-out $(addprefix $(csu-objpfx),start.o \ $(start-installed-name))\ @@ -549,11 +550,10 @@ ifeq ($(elf),yes) +preinit = $(addprefix $(csu-objpfx),crti.o) +postinit = $(addprefix $(csu-objpfx),crtn.o) -+prector = `$(CC) --print-file-name=crtbegin.o` -+postctor = `$(CC) --print-file-name=crtend.o` -# Variants of the two previous definitions for linking PIE programs. +prectorS = `$(CC) --print-file-name=crtbeginS.o` +postctorS = `$(CC) --print-file-name=crtendS.o` ++prector = $(+prectorS) ++postctor = $(+postctorS) +interp = $(addprefix $(elf-objpfx),interp.os) endif csu-objpfx = $(common-objpfx)csu/ @@ -683,7 +683,7 @@ # the implicit -lang-asm and breaks cpp behavior for .S files--notably # it causes cpp to stop predefining __ASSEMBLER__. CPPFLAGS = $($(subdir)-CPPFLAGS) $(+includes) $(defines) \ - -include $(..)include/libc-symbols.h $(sysdep-CPPFLAGS) \ + -include $(..)include/libc-symbols.h -DPIC $(sysdep-CPPFLAGS) \ $(CPPFLAGS-$(suffix $@)) \ $(foreach lib,$(libof-$(basename $(@F))) \ $(libof-$(