]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - lfs/glibc
Merge branch 'kernel-test' into seventeen
[people/pmueller/ipfire-2.x.git] / lfs / glibc
index 32c494f24388a06cbb18d45530f3372d148ca564..194f5565ee000d0ab417879a306ef7d7799d6250 100644 (file)
--- a/lfs/glibc
+++ b/lfs/glibc
@@ -284,6 +284,9 @@ endif
        #   Makefile:235: *** mixed implicit and normal rules.  Stop.
        cd $(DIR_APP) && sed -i 's/ot \$$/ot:\n\ttouch $$@\n$$/' manual/Makefile
 
+       # http://sourceware.org/ml/libc-ports/2011-09/msg00018.html
+       cd $(DIR_APP) && sed -e "s/PIC/SHARED/g" -i ports/sysdeps/arm/{,eabi/}{set,__long}jmp.S
+
 ifeq "$(ROOT)" ""
 ifeq "$(MACHINE_TYPE)" "arm"
        cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.3 -o|' \
@@ -297,8 +300,21 @@ endif
        cd $(DIR_SRC)/glibc-build && \
                CFLAGS="$(CFLAGS) -fno-asynchronous-unwind-tables" \
                $(DIR_APP)/configure $(EXTRA_CONFIG)
+
+       sed -i $(DIR_SRC)/glibc-build/config.make \
+               -e "s/^build-pic-default=.*/build-pic-default=yes/"
+
+       # Build the glibc libraries without stack protection (as this is not supported)
+       echo "build-programs=no" >> $(DIR_SRC)/glibc-build/configparms
+       cd $(DIR_SRC)/glibc-build && make PARALLELMFLAGS=$(MAKETUNING) \
+               CFLAGS="$(CFLAGS) -fno-stack-protector -U_FORTIFY_SOURCE" \
+               CXXFLAGS="$(CXXFLAGS) -fno-stack-protector -U_FORTIFY_SOURCE"
+
+       # Build the programs with hardening
+       : > $(DIR_SRC)/glibc-build/configparms
        cd $(DIR_SRC)/glibc-build && make PARALLELMFLAGS=$(MAKETUNING) \
                CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)"
+
        cd $(DIR_SRC)/glibc-build && make $(EXTRA_INSTALL) install
 
 ifeq "$(ROOT)" ""