aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2007-01-22 01:11:39 +0000
committerFelix Fietkau <nbd@openwrt.org>2007-01-22 01:11:39 +0000
commit3aad35e9f792d6296e6f79303dcc660d0df7590b (patch)
treee146c35abd60778a5f9528562bb110ccd71653a5 /toolchain
parent47fa28f8d0ece21ef33cc1cd479485d8ad1c1ab1 (diff)
downloadupstream-3aad35e9f792d6296e6f79303dcc660d0df7590b.tar.gz
upstream-3aad35e9f792d6296e6f79303dcc660d0df7590b.tar.bz2
upstream-3aad35e9f792d6296e6f79303dcc660d0df7590b.zip
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 0000000000..0ec9a2a72f
--- /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);