diff options
Diffstat (limited to 'libc/sysdeps/linux')
| -rw-r--r-- | libc/sysdeps/linux/Makefile.commonarch | 12 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/Makefile.in | 2 | ||||
| -rw-r--r-- | libc/sysdeps/linux/x86_64/crt1.S | 4 | 
3 files changed, 15 insertions, 3 deletions
| diff --git a/libc/sysdeps/linux/Makefile.commonarch b/libc/sysdeps/linux/Makefile.commonarch index a001a44f1..1bf2dc511 100644 --- a/libc/sysdeps/linux/Makefile.commonarch +++ b/libc/sysdeps/linux/Makefile.commonarch @@ -20,8 +20,16 @@ libc-y         += $(ARCH_OBJS-y)  libc-nomulti-y += $(ARCH_SOBJ)  objclean-y     += CLEAN_$(subst $(top_builddir),,$(ARCH_OUT)) -CFLAGS-crti.S+=$(PICFLAG) -CFLAGS-crtn.S+=$(PICFLAG) +CFLAGS-OMIT-crt1.S := -D_LIBC_REENTRANT +CFLAGS-OMIT-crti.S := -D_LIBC_REENTRANT +CFLAGS-OMIT-crtn.S := -D_LIBC_REENTRANT +CFLAGS-OMIT-crtreloc.c := -D_LIBC_REENTRANT +CFLAGS-crti.S += $(PICFLAG) +CFLAGS-crtn.S += $(PICFLAG) +# Due to a "bug" in make these order_only prereqs inherit per-target flags. +# Attempt to workaround this inconvenient behaviour: +CFLAGS-OMIT-crt1.S += $(CFLAGS-rtld) -DIN_LIB=% +CFLAGS-OMIT-crtreloc.c += $(CFLAGS-rtld) -DIN_LIB=%  CLEAN_$(subst $(top_builddir),,$(ARCH_OUT)):  	$(do_rm) $(addprefix $(ARCH_OUT)/*., o os oS) $(CTOR_TARGETS) $(CRTS) diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in index 85621544c..a175ab64c 100644 --- a/libc/sysdeps/linux/common/Makefile.in +++ b/libc/sysdeps/linux/common/Makefile.in @@ -115,6 +115,8 @@ ifneq ($(strip $(ARCH_OBJS-y)),)  CSRC-y := $(filter-out $(notdir $(ARCH_OBJS-y:.o=.c)) $(ARCH_OBJ_FILTEROUT-y),$(CSRC-y))  endif +CFLAGS-OMIT-ssp.c := $(CFLAG_-fstack-protector) $(CFLAG_-fstack-protector-all) $(CFLAG_-fstack-protector-strong) +CFLAGS-OMIT-ssp-local.c := $(CFLAG_-fstack-protector) $(CFLAG_-fstack-protector-all) $(CFLAG_-fstack-protector-strong)  CFLAGS-ssp.c := $(SSP_DISABLE_FLAGS)  CFLAGS-ssp-local.c := $(SSP_DISABLE_FLAGS) diff --git a/libc/sysdeps/linux/x86_64/crt1.S b/libc/sysdeps/linux/x86_64/crt1.S index 52b564cc8..87777dd5d 100644 --- a/libc/sysdeps/linux/x86_64/crt1.S +++ b/libc/sysdeps/linux/x86_64/crt1.S @@ -54,7 +54,9 @@  		...  					NULL  */ - +#if defined NOT_IN_libc +# error error in build framework +#endif  #include <features.h>  .text | 
