cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh966775.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh966778.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh970090.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1008310.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1022022.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1091162.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1098050.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1133809-1.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh1133809-2.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-resolv-stack_chk_fail.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-remove-ctors-dtors-output-sections.patch
# Makefile:235: *** mixed implicit and normal rules. Stop.
cd $(DIR_APP) && sed -i 's/ot \$$/ot:\n\ttouch $$@\n$$/' manual/Makefile
+ifeq "$(MACHINE_TYPE)" "arm"
+ # 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
+endif
+
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|' \
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)" ""
# Creating the locales
mkdir -p /usr/lib/locale
- cd $(DIR_SRC)/glibc-build && localedef -i en_US -f ISO-8859-1 en_US
- cd $(DIR_SRC)/glibc-build && localedef -i en_US -f UTF-8 en_US.utf8
+ cd $(DIR_SRC)/glibc-build && make localedata/install-locales
# Timezone data will be shipped by tzdata.
rm -rfv /usr/share/zoneinfo