summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-01-10 11:03:58 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2011-01-10 11:03:58 +0100
commit94c763109f74b446e4d5d31e55ef337c8c8d86cb (patch)
tree22d1cd06809f5a5c11241e998d9ead4010ac3c91 /toolchain
parenta217fc80b29080dae963bb15051df023de36ce39 (diff)
parent16d94117a716fc361d3db9a2a17cf4c45eab837d (diff)
resolve conflicts
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/glibc/Makefile7
-rw-r--r--toolchain/glibc/patches/i686_define_bug.patch38
2 files changed, 44 insertions, 1 deletions
diff --git a/toolchain/glibc/Makefile b/toolchain/glibc/Makefile
index 96dc99302..cfa3690e8 100644
--- a/toolchain/glibc/Makefile
+++ b/toolchain/glibc/Makefile
@@ -67,6 +67,11 @@ $(WRKBUILD)/.compiled:
$(WRKBUILD)/.installed:
${GLIBC_ENV} $(MAKE) -C $(GLIBC_BUILD_DIR_FINAL) \
install_root=$(STAGING_TARGET_DIR) install
- touch $@
+ mkdir -p ${STAGING_TARGET_DIR}/etc
+ ${INSTALL_DATA} ${WRKBUILD}/posix/gai.conf ${STAGING_TARGET_DIR}/etc/
+ ${INSTALL_DATA} ${WRKBUILD}/nscd/nscd.conf ${STAGING_TARGET_DIR}/etc/
+ ${INSTALL_DATA} ${WRKBUILD}/nss/nsswitch.conf ${STAGING_TARGET_DIR}/etc/
+ touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs.h
+ touch $(WRKBUILD)/.installed
include ${TOPDIR}/mk/toolchain.mk
diff --git a/toolchain/glibc/patches/i686_define_bug.patch b/toolchain/glibc/patches/i686_define_bug.patch
new file mode 100644
index 000000000..0414fecc9
--- /dev/null
+++ b/toolchain/glibc/patches/i686_define_bug.patch
@@ -0,0 +1,38 @@
+ Fix for compiling glibc with -march=i686 specified.
+ The patch below found at: http://permalink.gmane.org/gmane.linux.lfs.devel/9758,
+ a nice discussion (with a comment of the glibc maintainer) can be found here:
+ http://old.nabble.com/-RFC-PATCH--glibc-doesn%27t-build-with-%22gcc--march%3Di686%22-td17442608.html
+
+ To me, this simply shows once more how fucked up things can be. E.g. the (related) bug report here:
+ http://bugs.gentoo.org/show_bug.cgi?id=201815. There are lots of duplicates to it, many people are
+ affected, one can find really elaborate reports. And the responsible gentoo developers are too
+ elite to even point to the actual patch fixing the issue.
+diff -Naur glibc-2.11.1-orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c
+--- glibc-2.11.1-orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 20:10:20.000000000 +0000
++++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c 2010-04-17 02:24:02.000000000 +0100
+@@ -45,6 +45,11 @@
+ /* Embed an #include to pull in the alignment and .end directives. */
+ asm ("\n#include \"defs.h\"");
+
++asm ("\n#if defined __i686 && defined __ASSEMBLER__");
++asm ("\n#undef __i686");
++asm ("\n#define __i686 __i686");
++asm ("\n#endif");
++
+ /* The initial common code ends here. */
+ asm ("\n/*@HEADER_ENDS*/");
+
+diff -Naur glibc-2.11.1-orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h
+--- glibc-2.11.1-orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 20:10:20.000000000 +0000
++++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-04-17 02:24:02.000000000 +0100
+@@ -29,6 +29,10 @@
+ #include <dl-sysdep.h>
+ #include <tls.h>
+
++#if defined __i686 && defined __ASSEMBLER__
++#undef __i686
++#define __i686 __i686
++#endif
+
+ /* For Linux we can use the system call table in the header file
+ /usr/include/asm/unistd.h