Author: archaic
Date: 2005-11-07 10:13:21 -0700 (Mon, 07 Nov 2005)
New Revision: 1246

Added:
   trunk/procps/procps-3.2.6-hardened_cflags-2.patch
Removed:
   trunk/procps/procps-3.2.6-hardened_cflags-1.patch
Log:
Updated the procps hlfs patch.

Deleted: trunk/procps/procps-3.2.6-hardened_cflags-1.patch
===================================================================
--- trunk/procps/procps-3.2.6-hardened_cflags-1.patch   2005-11-07 03:23:16 UTC 
(rev 1245)
+++ trunk/procps/procps-3.2.6-hardened_cflags-1.patch   2005-11-07 17:13:21 UTC 
(rev 1246)
@@ -1,437 +0,0 @@
-Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
-Date: 2005-11-02
-Initial Package Version: 3.2.6
-Upstream Status: Not submitted
-Origin: None
-Description: Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie,
--z relro, -z now. Use whatever works.
-
-See:
-http://www.linuxfromscratch.org/hlfs/
-
-diff -Naur procps-3.2.6.orig/Makefile procps-3.2.6/Makefile
---- procps-3.2.6.orig/Makefile 2005-10-30 06:27:04.000000000 +0000
-+++ procps-3.2.6/Makefile      2005-11-02 22:10:58.000000000 +0000
-@@ -104,10 +104,12 @@
- # an option that starts with "-g". (-g, -g2, -g3, -ggdb, etc.)
- CFLAGS       := -O2 -s
- ALL_CFLAGS   := $(PKG_CFLAGS) $(CFLAGS)
-+EXE_CFLAGS  :=
- 
- PKG_LDFLAGS  := -Wl,-warn-common
- LDFLAGS      :=
- ALL_LDFLAGS  := $(PKG_LDFLAGS) $(LDFLAGS)
-+EXE_LDFLAGS :=
- 
- ############ Add some extra flags if gcc allows
- 
-@@ -148,6 +150,13 @@
- # in case -O3 is enabled, avoid bloat
- ALL_CFLAGS += $(call check_gcc,-fno-inline-functions,)
- 
-+# Extra stuff.
-+ALL_CFLAGS += $(call check_gcc,-fstack-protector-all,)
-+EXE_CFLAGS += $(call check_gcc,-pie -fpie,)
-+EXE_LDFLAGS += $(call check_gcc,-pie,)
-+ALL_LDFLAGS += $(call check_gcc,-z relro,)
-+ALL_LDFLAGS += $(call check_gcc,-z now,)
-+
- endif
- endif
- endif
-@@ -236,21 +245,24 @@
- top.o : top.h
- 
- %.o : %.c
--      $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
-+      $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(EXE_CFLAGS) -c -o $@ $<
- 
- w.o:    w.c
--      $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(W_SHOWFROM) -c $<
-+      $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(EXE_CFLAGS) $(W_SHOWFROM) -c $<
- 
- ############ prog.o --> prog
- 
- pmap w uptime tload free sysctl vmstat utmp pgrep skill pwdx: % : %.o 
$(LIBPROC)
--      $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@
-+      $(CC) $(ALL_CFLAGS) $(EXE_CFLAGS) $^ $(ALL_LDFLAGS) \
-+              $(EXE_LDFLAGS) -o $@
- 
- slabtop top: % : %.o $(LIBPROC)
--      $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSES)
-+      $(CC) $(ALL_CFLAGS) $(EXE_CFLAGS) $^ $(ALL_LDFLAGS) \
-+              $(EXE_LDFLAGS) -o $@ $(CURSES)
- 
- watch: % : %.o
--      $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSES)
-+      $(CC) $(ALL_CFLAGS) $(EXE_CFLAGS) $^ $(ALL_LDFLAGS) \
-+              $(EXE_LDFLAGS) -o $@ $(CURSES)
- 
- ############ progX --> progY
- 
-diff -Naur procps-3.2.6.orig/Makefile.orig procps-3.2.6/Makefile.orig
---- procps-3.2.6.orig/Makefile.orig    1970-01-01 00:00:00.000000000 +0000
-+++ procps-3.2.6/Makefile.orig 2005-10-30 06:27:04.000000000 +0000
-@@ -0,0 +1,261 @@
-+# procps Makefile
-+# Albert Cahalan, 2002-2004
-+#
-+# Recursive make is considered harmful:
-+# http://google.com/search?q=%22recursive+make+considered+harmful%22
-+#
-+# For now this Makefile uses explicit dependencies. The project
-+# hasn't grown big enough to need something complicated, and the
-+# dependency tracking files are an ugly annoyance.
-+#
-+# This file includes */module.mk files which add on to variables:
-+# FOO += bar/baz
-+#
-+#
-+# Set (or uncomment) SKIP if you wish to avoid something.
-+# For example, you may prefer the /bin/kill from util-linux or bsdutils.
-+
-+
-+VERSION      := 3
-+SUBVERSION   := 2
-+MINORVERSION := 6
-+TARVERSION   := $(VERSION).$(SUBVERSION).$(MINORVERSION)
-+
-+############ vars
-+
-+# so you can disable them or choose alternates
-+ldconfig := ldconfig
-+ln_f     := ln -f
-+ln_sf    := ln -sf
-+install  := install -D --owner 0 --group 0
-+
-+# Lame x86-64 /lib64 and /usr/lib64 abomination:
-+lib64    := lib$(shell [ -d /lib64 ] && echo 64)
-+
-+usr/bin                  := $(DESTDIR)/usr/bin/
-+bin                      := $(DESTDIR)/bin/
-+sbin                     := $(DESTDIR)/sbin/
-+usr/proc/bin             := $(DESTDIR)/usr/bin/
-+man1                     := $(DESTDIR)/usr/share/man/man1/
-+man5                     := $(DESTDIR)/usr/share/man/man5/
-+man8                     := $(DESTDIR)/usr/share/man/man8/
-+lib                      := $(DESTDIR)/$(lib64)/
-+usr/lib                  := $(DESTDIR)/usr/$(lib64)/
-+usr/include              := $(DESTDIR)/usr/include/
-+
-+#SKIP     := $(bin)kill $(man1)kill.1
-+
-+BINFILES := $(usr/bin)uptime $(usr/bin)tload $(usr/bin)free $(usr/bin)w \
-+            $(usr/bin)top $(usr/bin)vmstat $(usr/bin)watch $(usr/bin)skill \
-+            $(usr/bin)snice $(bin)kill $(sbin)sysctl $(usr/bin)pmap \
-+            $(usr/proc/bin)pgrep $(usr/proc/bin)pkill $(usr/bin)slabtop \
-+            $(usr/proc/bin)pwdx
-+
-+MANFILES := $(man1)uptime.1 $(man1)tload.1 $(man1)free.1 $(man1)w.1 \
-+            $(man1)top.1 $(man1)watch.1 $(man1)skill.1 $(man1)kill.1 \
-+            $(man1)snice.1 $(man1)pgrep.1 $(man1)pkill.1 $(man1)pmap.1 \
-+            $(man5)sysctl.conf.5 $(man8)vmstat.8 $(man8)sysctl.8 \
-+            $(man1)slabtop.1 $(man1)pwdx.1
-+
-+TARFILES := AUTHORS BUGS NEWS README TODO COPYING COPYING.LIB \
-+            Makefile procps.lsm procps.spec v t README.top CodingStyle \
-+            sysctl.conf minimal.c $(notdir $(MANFILES)) dummy.c \
-+            uptime.c tload.c free.c w.c top.c vmstat.c watch.c skill.c \
-+            sysctl.c pgrep.c top.h pmap.c slabtop.c pwdx.c
-+
-+# Stuff (tests, temporary hacks, etc.) left out of the standard tarball
-+# plus the top-level Makefile to make it work stand-alone.
-+_TARFILES := Makefile
-+
-+CURSES := -lncurses
-+
-+# This seems about right for the dynamic library stuff.
-+# Something like this is probably needed to make the SE Linux
-+# library loading not conflict with embedded systems stuff.
-+#
-+#ifeq ($(SHARED),1)
-+#ldl := -ldl
-+#LIBTYPE := -DSHAREDLIB
-+#else
-+#LIBTYPE := -DSTATICLIB
-+#endif
-+
-+# Preprocessor flags.
-+PKG_CPPFLAGS := -D_GNU_SOURCE -I proc
-+CPPFLAGS     := -I/usr/include/ncurses
-+ALL_CPPFLAGS := $(PKG_CPPFLAGS) $(CPPFLAGS)
-+
-+# Left out -Wconversion due to noise in glibc headers.
-+# Left out -Wunreachable-code and -Wdisabled-optimization
-+# because gcc spews many useless warnings with them.
-+#
-+# Since none of the PKG_CFLAGS things are truly required
-+# to compile procps, they might best be moved to CFLAGS.
-+# On the other hand, they aren't normal -O -g things either.
-+#
-+# Note that -O2 includes -fomit-frame-pointer only if the arch
-+# doesn't lose some debugging ability.
-+#
-+PKG_CFLAGS   := -fno-common -ffast-math \
-+  -W -Wall -Wshadow -Wcast-align -Wredundant-decls \
-+  -Wbad-function-cast -Wcast-qual -Wwrite-strings -Waggregate-return \
-+  -Wstrict-prototypes -Wmissing-prototypes
-+# Note that some stuff below is conditional on CFLAGS containing
-+# an option that starts with "-g". (-g, -g2, -g3, -ggdb, etc.)
-+CFLAGS       := -O2 -s
-+ALL_CFLAGS   := $(PKG_CFLAGS) $(CFLAGS)
-+
-+PKG_LDFLAGS  := -Wl,-warn-common
-+LDFLAGS      :=
-+ALL_LDFLAGS  := $(PKG_LDFLAGS) $(LDFLAGS)
-+
-+############ Add some extra flags if gcc allows
-+
-+ifneq ($(MAKECMDGOALS),clean)
-+ifneq ($(MAKECMDGOALS),tar)  
-+ifneq ($(MAKECMDGOALS),extratar)
-+ifneq ($(MAKECMDGOALS),beta)
-+
-+# Unlike the kernel one, this check_gcc goes all the way to
-+# producing an executable. There might be a -m64 that works
-+# until you go looking for a 64-bit curses library.
-+check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c 
$(ALL_LDFLAGS) $(1) -o /dev/null $(CURSES) > /dev/null 2>&1; then echo "$(1)"; 
else echo "$(2)"; fi ;)
-+
-+# Be 64-bit if at all possible. In a cross-compiling situation, one may
-+# do "make m64=-m32 lib64=lib" to produce 32-bit executables. DO NOT
-+# attempt to use a 32-bit executable on a 64-bit kernel. Packagers MUST
-+# produce separate executables for ppc and ppc64, s390 and s390x,
-+# i386 and x86-64, mips and mips64, sparc and sparc64, and so on.
-+# Failure to do so will cause data corruption.
-+m64 := $(call check_gcc,-m64,$(call check_gcc,-mabi=64,))
-+ALL_CFLAGS += $(m64)
-+
-+ALL_CFLAGS += $(call check_gcc,-Wdeclaration-after-statement,)
-+ALL_CFLAGS += $(call check_gcc,-Wpadded,)
-+ALL_CFLAGS += $(call check_gcc,-Wstrict-aliasing,)
-+
-+# Adding -fno-gcse might be good for those files which
-+# use computed goto.
-+#ALL_CFLAGS += $(call check_gcc,-fno-gcse,)
-+
-+# if not debugging, enable things that could confuse gdb
-+ifeq (,$(findstring -g,$(filter -g%,$(CFLAGS))))
-+ALL_CFLAGS += $(call check_gcc,-fweb,)
-+ALL_CFLAGS += $(call check_gcc,-frename-registers,)
-+ALL_CFLAGS += $(call check_gcc,-fomit-frame-pointer,)
-+endif
-+
-+# in case -O3 is enabled, avoid bloat
-+ALL_CFLAGS += $(call check_gcc,-fno-inline-functions,)
-+
-+endif
-+endif
-+endif
-+endif
-+
-+############ misc.
-+
-+# free.c pmap.c sysctl.c uptime.c vmstat.c watch.c pgrep.c skill.c tload.c 
top.c w.c
-+# utmp.c oldtop.c tmp-junk.c minimal.c
-+
-+.SUFFIXES:
-+.SUFFIXES: .a .o .c .s .h
-+
-+.PHONY: all clean do_all install tar extratar beta
-+
-+ALL := $(notdir $(BINFILES))
-+
-+CLEAN := $(notdir $(BINFILES))
-+
-+DIRS :=
-+
-+INSTALL := $(BINFILES) $(MANFILES)
-+
-+# want this rule first, use := on ALL, and ALL not filled in yet
-+all: do_all
-+
-+-include */module.mk
-+
-+do_all:    $(ALL)
-+
-+junk := DEADJOE *~ *.o core gmon.out
-+
-+# Remove $(junk) from all $(DIRS)
-+CLEAN += $(junk) $(foreach dir,$(DIRS),$(addprefix $(dir), $(junk)))
-+
-+##########
-+# not maintained because it isn't really needed:
-+#
-+#SRC :=
-+#OBJ := $(patsubst %.c,%.o, $(filter %.c,$(SRC)))
-+#
-+#ifneq ($(MAKECMDGOALS),clean)
-+#-include $(OBJ:.o=.d)
-+#endif
-+#
-+#%.d: %.c
-+#     depend.sh $(ALL_CPPFLAGS) $(ALL_CFLAGS) $< > $@
-+############
-+
-+# don't want to type "make procps-$(TARVERSION).tar.gz"
-+tar: $(TARFILES)
-+      mkdir procps-$(TARVERSION)
-+      (tar cf - $(TARFILES)) | (cd procps-$(TARVERSION) && tar xf -)
-+      tar cf procps-$(TARVERSION).tar procps-$(TARVERSION)
-+      gzip -9 procps-$(TARVERSION).tar
-+
-+extratar: $(_TARFILES)
-+      mkdir procps-$(TARVERSION)
-+      (tar cf - $(_TARFILES)) | (cd procps-$(TARVERSION) && tar xf -)
-+      tar cf extra-$(TARVERSION).tar procps-$(TARVERSION)
-+      gzip -9 extra-$(TARVERSION).tar
-+
-+beta: $(TARFILES) $(_TARFILES)
-+      mkdir beta-$(TARVERSION)
-+      (tar cf - $(TARFILES) $(_TARFILES)) | (cd beta-$(TARVERSION) && tar xf 
-)
-+      tar cf beta-$(TARVERSION).tar beta-$(TARVERSION)
-+      gzip -9 beta-$(TARVERSION).tar
-+
-+clean:
-+      rm -f $(CLEAN)
-+
-+###### install
-+
-+$(BINFILES) : all
-+      $(install) --mode a=rx $(notdir $@) $@
-+
-+$(MANFILES) : all
-+      $(install) --mode a=r $(notdir $@) $@
-+
-+install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL))
-+      cd $(usr/bin) && $(ln_f) skill snice
-+      cd $(usr/proc/bin) && $(ln_f) pgrep pkill
-+
-+############ prog.c --> prog.o
-+
-+top.o : top.h
-+
-+%.o : %.c
-+      $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
-+
-+w.o:    w.c
-+      $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(W_SHOWFROM) -c $<
-+
-+############ prog.o --> prog
-+
-+pmap w uptime tload free sysctl vmstat utmp pgrep skill pwdx: % : %.o 
$(LIBPROC)
-+      $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@
-+
-+slabtop top: % : %.o $(LIBPROC)
-+      $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSES)
-+
-+watch: % : %.o
-+      $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSES)
-+
-+############ progX --> progY
-+
-+snice kill: skill
-+      ln -f skill $@
-+
-+pkill: pgrep
-+      ln -f pgrep pkill
-diff -Naur procps-3.2.6.orig/ps/module.mk procps-3.2.6/ps/module.mk
---- procps-3.2.6.orig/ps/module.mk     2005-10-30 03:19:46.000000000 +0000
-+++ procps-3.2.6/ps/module.mk  2005-11-02 22:11:51.000000000 +0000
-@@ -20,14 +20,14 @@
- TARFILES += $(PSSRC) $(addprefix ps/,$(PS_X))
- 
- ps/ps: $(PSOBJ) $(LIBPROC)
--      $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -o $@ $^ $(ldl)
-+      $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXE_LDFLAGS) -o $@ $^ $(ldl)
- 
- # This just adds the stacktrace code
- ps/debug: $(PSOBJ) stacktrace.o $(LIBPROC)
--      $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -o $@ $^ -lefence $(ldl)
-+      $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXE_LDFLAGS) -o $@ $^ -lefence 
$(ldl)
- 
- $(PSOBJ): %.o: %.c ps/common.h $(LIBPROC)
--      $(CC) -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) $< -o $@
-+      $(CC) -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(EXE_LDFLAGS) $< -o $@
- 
- ps/stacktrace.o: ps/stacktrace.c
- 
-diff -Naur procps-3.2.6.orig/ps/module.mk.orig procps-3.2.6/ps/module.mk.orig
---- procps-3.2.6.orig/ps/module.mk.orig        1970-01-01 00:00:00.000000000 
+0000
-+++ procps-3.2.6/ps/module.mk.orig     2005-10-30 03:19:46.000000000 +0000
-@@ -0,0 +1,40 @@
-+# This file gets included into the main Makefile, in the top directory.
-+
-+INSTALL += $(bin)ps $(man1)ps.1
-+
-+# files to remove
-+CLEAN += ps/ps ps/debug
-+
-+# a directory for cleaning
-+DIRS += ps/
-+
-+# a file to create
-+ALL += ps/ps
-+
-+PS_C    := display global help output parser select sortformat
-+PSNAMES := $(addprefix ps/,$(PS_C))
-+PSOBJ   := $(addsuffix .o,$(PSNAMES))
-+PSSRC   := $(addsuffix .c,$(PSNAMES))
-+
-+PS_X := COPYING HACKING TRANSLATION common.h module.mk it p ps.1 regression
-+TARFILES += $(PSSRC) $(addprefix ps/,$(PS_X))
-+
-+ps/ps: $(PSOBJ) $(LIBPROC)
-+      $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -o $@ $^ $(ldl)
-+
-+# This just adds the stacktrace code
-+ps/debug: $(PSOBJ) stacktrace.o $(LIBPROC)
-+      $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -o $@ $^ -lefence $(ldl)
-+
-+$(PSOBJ): %.o: %.c ps/common.h $(LIBPROC)
-+      $(CC) -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) $< -o $@
-+
-+ps/stacktrace.o: ps/stacktrace.c
-+
-+
-+$(bin)ps: ps/ps
-+      $(install) --mode a=rx $< $@
-+
-+$(man1)ps.1 : ps/ps.1
-+      $(install) --mode a=r $< $@
-+      -rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz 
$(DESTDIR)/var/man/cat1/ps.1.gz
-diff -Naur procps-3.2.6.orig/ps/module.mk.rej procps-3.2.6/ps/module.mk.rej
---- procps-3.2.6.orig/ps/module.mk.rej 1970-01-01 00:00:00.000000000 +0000
-+++ procps-3.2.6/ps/module.mk.rej      2005-11-02 22:10:58.000000000 +0000
-@@ -0,0 +1,32 @@
-+***************
-+*** 20,33 ****
-+  TARFILES += $(PSSRC) $(addprefix ps/,$(PS_X))
-+  
-+  ps/ps: $(PSOBJ) $(LIBPROC)
-+-     $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -o $@ $^
-+  
-+  # This just adds the stacktrace code
-+  ps/debug: $(PSOBJ) stacktrace.o $(LIBPROC)
-+-     $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -o $@ $^ -lefence
-+  
-+  $(PSOBJ): %.o: %.c ps/common.h $(LIBPROC)
-+-     $(CC) -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) $< -o $@
-+  
-+  ps/stacktrace.o: ps/stacktrace.c
-+  
-+--- 20,34 ----
-+  TARFILES += $(PSSRC) $(addprefix ps/,$(PS_X))
-+  
-+  ps/ps: $(PSOBJ) $(LIBPROC)
-++     $(CC) $(ALL_CFLAGS) $(EXE_CFLAGS) $(ALL_LDFLAGS) $(EXE_LDFLAGS) -o $@ $^
-+  
-+  # This just adds the stacktrace code
-+  ps/debug: $(PSOBJ) stacktrace.o $(LIBPROC)
-++     $(CC) $(ALL_CFLAGS) $(EXE_CFLAGS) $(ALL_LDFLAGS) \
-++             $(EXE_LDFLAGS) -o $@ $^ -lefence
-+  
-+  $(PSOBJ): %.o: %.c ps/common.h $(LIBPROC)
-++     $(CC) -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(EXE_CFLAGS) $< -o $@
-+  
-+  ps/stacktrace.o: ps/stacktrace.c
-+  

Added: trunk/procps/procps-3.2.6-hardened_cflags-2.patch
===================================================================
--- trunk/procps/procps-3.2.6-hardened_cflags-2.patch   2005-11-07 03:23:16 UTC 
(rev 1245)
+++ trunk/procps/procps-3.2.6-hardened_cflags-2.patch   2005-11-07 17:13:21 UTC 
(rev 1246)
@@ -0,0 +1,93 @@
+Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
+Date: 2005-11-06
+Initial Package Version: 3.2.6
+Upstream Status: Not submitted
+Origin: None
+Description: Check for gcc -fpie, -fpic, -fstack-protector, and ld -pie,
+-z relro, -z now. Use whatever works.
+
+See:
+http://www.linuxfromscratch.org/hlfs/
+
+diff -Naur procps-3.2.6.orig/Makefile procps-3.2.6/Makefile
+--- procps-3.2.6.orig/Makefile 2005-10-30 06:27:04.000000000 +0000
++++ procps-3.2.6/Makefile      2005-11-07 00:26:44.000000000 +0000
+@@ -104,10 +104,12 @@
+ # an option that starts with "-g". (-g, -g2, -g3, -ggdb, etc.)
+ CFLAGS       := -O2 -s
+ ALL_CFLAGS   := $(PKG_CFLAGS) $(CFLAGS)
++EXE_CFLAGS  :=
+ 
+ PKG_LDFLAGS  := -Wl,-warn-common
+ LDFLAGS      :=
+ ALL_LDFLAGS  := $(PKG_LDFLAGS) $(LDFLAGS)
++EXE_LDFLAGS :=
+ 
+ ############ Add some extra flags if gcc allows
+ 
+@@ -148,6 +150,13 @@
+ # in case -O3 is enabled, avoid bloat
+ ALL_CFLAGS += $(call check_gcc,-fno-inline-functions,)
+ 
++# Extra stuff.
++ALL_CFLAGS += $(call check_gcc,-fstack-protector-all,)
++EXE_CFLAGS += $(call check_gcc,-pie -fpie,)
++EXE_LDFLAGS += $(call check_gcc,-pie,)
++ALL_LDFLAGS += $(call check_gcc,-z relro,)
++ALL_LDFLAGS += $(call check_gcc,-z now,)
++
+ endif
+ endif
+ endif
+@@ -236,21 +245,24 @@
+ top.o : top.h
+ 
+ %.o : %.c
+-      $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++      $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(EXE_CFLAGS) -c -o $@ $<
+ 
+ w.o:    w.c
+-      $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(W_SHOWFROM) -c $<
++      $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(EXE_CFLAGS) $(W_SHOWFROM) -c $<
+ 
+ ############ prog.o --> prog
+ 
+ pmap w uptime tload free sysctl vmstat utmp pgrep skill pwdx: % : %.o 
$(LIBPROC)
+-      $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@
++      $(CC) $(ALL_CFLAGS) $(EXE_CFLAGS) $^ $(ALL_LDFLAGS) \
++              $(EXE_LDFLAGS) -o $@
+ 
+ slabtop top: % : %.o $(LIBPROC)
+-      $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSES)
++      $(CC) $(ALL_CFLAGS) $(EXE_CFLAGS) $^ $(ALL_LDFLAGS) \
++              $(EXE_LDFLAGS) -o $@ $(CURSES)
+ 
+ watch: % : %.o
+-      $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSES)
++      $(CC) $(ALL_CFLAGS) $(EXE_CFLAGS) $^ $(ALL_LDFLAGS) \
++              $(EXE_LDFLAGS) -o $@ $(CURSES)
+ 
+ ############ progX --> progY
+ 
+diff -Naur procps-3.2.6.orig/ps/module.mk procps-3.2.6/ps/module.mk
+--- procps-3.2.6.orig/ps/module.mk     2005-10-30 03:19:46.000000000 +0000
++++ procps-3.2.6/ps/module.mk  2005-11-07 00:29:10.000000000 +0000
+@@ -20,14 +20,15 @@
+ TARFILES += $(PSSRC) $(addprefix ps/,$(PS_X))
+ 
+ ps/ps: $(PSOBJ) $(LIBPROC)
+-      $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -o $@ $^ $(ldl)
++      $(CC) $(ALL_CFLAGS) $(EXE_CFLAGS) $(ALL_LDFLAGS) $(EXE_LDFLAGS) -o $@ 
$^ $(ldl)
+ 
+ # This just adds the stacktrace code
+ ps/debug: $(PSOBJ) stacktrace.o $(LIBPROC)
+-      $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -o $@ $^ -lefence $(ldl)
++      $(CC) $(ALL_CFLAGS) $(EXE_CFLAGS) $(ALL_LDFLAGS) $(EXE_LDFLAGS) \
++              -o $@ $^ -lefence $(ldl)
+ 
+ $(PSOBJ): %.o: %.c ps/common.h $(LIBPROC)
+-      $(CC) -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) $< -o $@
++      $(CC) -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(EXE_CFLAGS) $< -o $@
+ 
+ ps/stacktrace.o: ps/stacktrace.c
+ 

-- 
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to