summaryrefslogtreecommitdiffstats
path: root/toolchain
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-01-22 01:11:39 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-01-22 01:11:39 +0000
commite89d0186a87110c61d5756740929c3745e02afef (patch)
treee146c35abd60778a5f9528562bb110ccd71653a5 /toolchain
parent81c83bf7714428d696cbb34cb79527e22e4fbac8 (diff)
export __libc_stack_end in dynamically linked binaries as well - fixes uclibc++ compile on powerpc (#1230)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6171 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/uClibc/patches/160-move_stack_end.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches/160-move_stack_end.patch b/toolchain/uClibc/patches/160-move_stack_end.patch
new file mode 100644
index 000000000..0ec9a2a72
--- /dev/null
+++ b/toolchain/uClibc/patches/160-move_stack_end.patch
@@ -0,0 +1,52 @@
+diff -urN uClibc.old/libc/Makefile uClibc.dev/libc/Makefile
+--- uClibc.old/libc/Makefile 2005-08-18 00:49:48.000000000 +0200
++++ uClibc.dev/libc/Makefile 2007-01-22 01:21:40.000000000 +0100
+@@ -70,7 +70,6 @@
+ $(AR) $(ARFLAGS) $(LIBNAME) $$objs || exit 1 ; \
+ done
+ cp $(LIBNAME) shared_$(LIBNAME)
+- $(AR) $(ARFLAGS) $(LIBNAME) misc/internals/static.o
+ $(RANLIB) $(LIBNAME)
+
+ $(LIBNAME_TARGET): $(LIBNAME)
+diff -urN uClibc.old/libc/misc/internals/Makefile uClibc.dev/libc/misc/internals/Makefile
+--- uClibc.old/libc/misc/internals/Makefile 2005-08-18 00:49:48.000000000 +0200
++++ uClibc.dev/libc/misc/internals/Makefile 2007-01-22 01:11:46.000000000 +0100
+@@ -31,7 +31,7 @@
+
+ OBJ_LIST=../../obj.misc.internals
+
+-all: $(OBJ_LIST) interp.o static.o
++all: $(OBJ_LIST) interp.o
+
+ $(OBJ_LIST): $(OBJS)
+ echo $(patsubst %, misc/internals/%, $(OBJS)) > $(OBJ_LIST)
+@@ -44,7 +44,7 @@
+ "(\".interp\"))) =\""$(SHARED_LIB_LOADER_PREFIX)/$(UCLIBC_LDSO)"\";" >> interp.c
+ echo "#endif" >> interp.c
+
+-$(COBJS) interp.o static.o: %.o : %.c
++$(COBJS) interp.o: %.o : %.c
+ $(CC) $(CFLAGS) -c $< -o $@
+ $(STRIPTOOL) -x -R .note -R .comment $*.o
+
+diff -urN uClibc.old/libc/misc/internals/static.c uClibc.dev/libc/misc/internals/static.c
+--- uClibc.old/libc/misc/internals/static.c 2005-08-18 00:49:48.000000000 +0200
++++ uClibc.dev/libc/misc/internals/static.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,4 +0,0 @@
+-#include <stddef.h>
+-
+-/* Force static libraries to know about ... */
+-void *__libc_stack_end=NULL;
+diff -urN uClibc.old/libc/misc/internals/__uClibc_main.c uClibc.dev/libc/misc/internals/__uClibc_main.c
+--- uClibc.old/libc/misc/internals/__uClibc_main.c 2005-08-18 00:49:48.000000000 +0200
++++ uClibc.dev/libc/misc/internals/__uClibc_main.c 2007-01-22 01:20:23.000000000 +0100
+@@ -32,7 +32,7 @@
+ /*
+ * Prototypes.
+ */
+-extern void *__libc_stack_end;
++void *__libc_stack_end;
+ extern void weak_function _stdio_init(void);
+ extern int *weak_const_function __errno_location(void);
+ extern int *weak_const_function __h_errno_location(void);