Browse Source

Cleaned up patch from Peter S. Mazinger adding support for
-fstack-protector and -fno-stack-protector-all security
options

Eric Andersen 19 years ago
parent
commit
3d831a7c27
11 changed files with 25 additions and 5 deletions
  1. 7 2
      Rules.mak
  2. 1 2
      ldso/ldso/Makefile
  3. 1 1
      ldso/libdl/Makefile
  4. 2 0
      libcrypt/Makefile
  5. 2 0
      libintl/Makefile
  6. 2 0
      libm/Makefile
  7. 2 0
      libnsl/Makefile
  8. 2 0
      libpthread/Makefile
  9. 2 0
      libresolv/Makefile
  10. 2 0
      libutil/Makefile
  11. 2 0
      utils/Makefile

+ 7 - 2
Rules.mak

@@ -231,9 +231,13 @@ PIEFLAG=
 LDPIEFLAG=
 endif
 
-ifeq ($(SSP_CFLAGS),)
+SSP_DISABLE_FLAGS=$(call check_gcc,-fno-stack-protector,)
+ifeq ($(UCLIBC_PROPOLICE),y)
 SSP_CFLAGS=$(call check_gcc,-fno-stack-protector-all,)
 SSP_CFLAGS+=$(call check_gcc,-fstack-protector,)
+SSP_ALL_CFLAGS=$(call check_gcc,-fstack-protector-all,)
+else
+SSP_CFLAGS=$(SSP_DISABLE_FLAGS)
 endif
 
 # Some nice CFLAGS to work with
@@ -242,7 +246,8 @@ CFLAGS=$(XWARNINGS) $(OPTIMIZATION) $(XARCH_CFLAGS) $(CPU_CFLAGS) $(SSP_CFLAGS)
 
 ifeq ($(DODEBUG),y)
     #CFLAGS += -g3
-    CFLAGS = $(XWARNINGS) -O0 -g3 $(CPU_CFLAGS) -fno-builtin -nostdinc -D_LIBC -I$(TOPDIR)include -I.
+    CFLAGS = $(XWARNINGS) -O0 -g3 $(CPU_CFLAGS) $(SSP_CFLAGS) \
+	-fno-builtin -nostdinc -D_LIBC -I$(TOPDIR)include -I.
     LDFLAGS:= $(CPU_LDFLAGS-y) -shared --warn-common --warn-once -z combreloc
     STRIPTOOL:= true -Since_we_are_debugging
 else

+ 1 - 2
ldso/ldso/Makefile

@@ -21,11 +21,10 @@ TOPDIR=../../
 include $(TOPDIR)Rules.mak
 LDSO_FULLNAME=ld-uClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
 
-SSPFLAGS=$(call check_gcc,-fno-stack-protector,)
 # reset to initial (disabling predefined CFLAGS)
 ASFLAGS=
 
-XXFLAGS=$(XWARNINGS) $(SSPFLAGS)
+XXFLAGS=$(XWARNINGS) $(SSP_DISABLE_FLAGS)
 ifeq ($(DODEBUG),y)
 # Not really much point in including debugging info, since gdb
 # can't really debug ldso, since gdb requires help from ldso to

+ 1 - 1
ldso/libdl/Makefile

@@ -21,7 +21,7 @@
 TOPDIR=../../
 include $(TOPDIR)Rules.mak
 
-XXFLAGS=$(XWARNINGS)
+XXFLAGS=$(XWARNINGS) $(SSP_CFLAGS) $(SSP_ALL_CFLAGS)
 ifeq ($(DODEBUG),y)
 XXFLAGS+=-O0 -g3
 else

+ 2 - 0
libcrypt/Makefile

@@ -24,6 +24,8 @@
 TOPDIR=../
 include $(TOPDIR)Rules.mak
 
+CFLAGS+=$(SSP_ALL_CFLAGS)
+
 LIBCRYPT=libcrypt.a
 LIBCRYPT_SHARED=libcrypt.so
 LIBCRYPT_SHARED_FULLNAME=libcrypt-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so

+ 2 - 0
libintl/Makefile

@@ -25,6 +25,8 @@ TOPDIR=../
 include $(TOPDIR)Rules.mak
 LIBC=$(TOPDIR)libc.a
 
+CFLAGS+=$(SSP_ALL_CFLAGS)
+
 LIBINTL=libintl.a
 LIBINTL_SHARED=libintl.so
 LIBINTL_SHARED_FULLNAME=libintl-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so

+ 2 - 0
libm/Makefile

@@ -34,6 +34,8 @@
 TOPDIR=../
 include $(TOPDIR)Rules.mak
 
+CFLAGS+=$(SSP_ALL_CFLAGS)
+
 DIRS = 
 ifeq ($(strip $(HAS_FPU)),y)
 ifeq ($(TARGET_ARCH),$(wildcard $(TARGET_ARCH)))

+ 2 - 0
libnsl/Makefile

@@ -19,6 +19,8 @@
 TOPDIR=../
 include $(TOPDIR)Rules.mak
 
+CFLAGS+=$(SSP_ALL_CFLAGS)
+
 LIBNSL=libnsl.a
 LIBNSL_SHARED=libnsl.so
 LIBNSL_SHARED_FULLNAME=libnsl-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so

+ 2 - 0
libpthread/Makefile

@@ -19,6 +19,8 @@
 TOPDIR=../
 include $(TOPDIR)Rules.mak
 
+CFLAGS+=$(SSP_ALL_CFLAGS)
+
 #Adjust the soname version to avoid namespace collisions with glibc's libpthread
 LIBPTHREAD=libpthread.a
 LIBPTHREAD_SHARED=libpthread.so

+ 2 - 0
libresolv/Makefile

@@ -25,6 +25,8 @@
 TOPDIR=../
 include $(TOPDIR)Rules.mak
 
+CFLAGS+=$(SSP_ALL_CFLAGS)
+
 LIBRESOLV=libresolv.a
 LIBRESOLV_SHARED=libresolv.so
 LIBRESOLV_SHARED_FULLNAME=libresolv-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so

+ 2 - 0
libutil/Makefile

@@ -25,6 +25,8 @@ TOPDIR=../
 include $(TOPDIR)Rules.mak
 LIBC=$(TOPDIR)libc.a
 
+CFLAGS+=$(SSP_ALL_CFLAGS)
+
 LIBUTIL=libutil.a
 LIBUTIL_SHARED=libutil.so
 LIBUTIL_SHARED_FULLNAME=libutil-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so

+ 2 - 0
utils/Makefile

@@ -19,6 +19,8 @@
 TOPDIR=../
 include $(TOPDIR)Rules.mak
 
+CFLAGS+=$(SSP_ALL_CFLAGS)
+
 TARGETS = ldd ldconfig readelf
 
 ifeq ($(strip $(UCLIBC_HAS_LOCALE)),y)