diff options
Diffstat (limited to 'recipes/glibc/glibc-2.3.6')
10 files changed, 382 insertions, 0 deletions
diff --git a/recipes/glibc/glibc-2.3.6/etc/ld.so.conf b/recipes/glibc/glibc-2.3.6/etc/ld.so.conf new file mode 100644 index 0000000000..46e06d3f0a --- /dev/null +++ b/recipes/glibc/glibc-2.3.6/etc/ld.so.conf @@ -0,0 +1,2 @@ +/usr/local/lib + diff --git a/recipes/glibc/glibc-2.3.6/glibc-2.3.6-allow-gcc-4.1-powerpc32-initfini.s.patch b/recipes/glibc/glibc-2.3.6/glibc-2.3.6-allow-gcc-4.1-powerpc32-initfini.s.patch new file mode 100644 index 0000000000..4348d6f5d0 --- /dev/null +++ b/recipes/glibc/glibc-2.3.6/glibc-2.3.6-allow-gcc-4.1-powerpc32-initfini.s.patch @@ -0,0 +1,28 @@ +fixes + +{BUILD_DIR}/build-glibc/csu/crtn.o: In function "dummy": +{BUILD_DIR}/build-glibc/csu/crtn.S:14: multiple definition of "dummy" +{BUILD_DIR}/build-glibc/csu/crti.o:{BUILD_DIR}/build-glibc/csu/crti.S:33: first defined here +{BUILD_DIR}/build-glibc/csu/crtn.o: In function "_init": +{BUILD_DIR}/build-glibc/csu/crtn.S:30: multiple definition of "_init" +{BUILD_DIR}/build-glibc/csu/crti.o:{BUILD_DIR}/build-glibc/csu/crti.S:65: first defined here +{BUILD_DIR}/build-glibc/csu/crtn.o: In function "_fini": +{BUILD_DIR}/build-glibc/csu/crtn.S:25: multiple definition of "_fini" +{BUILD_DIR}/build-glibc/csu/crti.o:{BUILD_DIR}/build-glibc/csu/crti.S:38: first defined here +{BUILD_DIR}/build-glibc/csu/crti.o: In function "_fini": +{BUILD_DIR}/build-glibc/csu/crti.S:(.init+0x20): undefined reference to "i_am_not_a_leaf" +{BUILD_DIR}/build-glibc/csu/crtn.o: In function "_fini": +{BUILD_DIR}/build-glibc/csu/crtn.S:(.init+0x40): undefined reference to "i_am_not_a_leaf" +{BUILD_DIR}/build-glibc/csu/crtn.S:(.init+0x44): undefined reference to "i_am_not_a_leaf" + +--- glibc-2.3.6/sysdeps/powerpc/powerpc32/Makefile.org 2006-08-21 19:03:01.000000000 -0700 ++++ glibc-2.3.6/sysdeps/powerpc/powerpc32/Makefile 2006-08-21 19:03:19.000000000 -0700 +@@ -21,7 +21,7 @@ + ifneq ($(elf),no) + # The initfini generation code doesn't work in the presence of -fPIC, so + # we use -fpic instead which is much better. +-CFLAGS-initfini.s = -g0 -fpic -O1 ++CFLAGS-initfini.s = -g0 -fpic -O1 $(fno-unit-at-a-time) + + # There is no benefit to using sdata for these objects, and the user + # of the library should be able to control what goes into sdata. diff --git a/recipes/glibc/glibc-2.3.6/glibc-2.3.6-bind-already-defined-on-powerpc.patch b/recipes/glibc/glibc-2.3.6/glibc-2.3.6-bind-already-defined-on-powerpc.patch new file mode 100644 index 0000000000..9938ef6973 --- /dev/null +++ b/recipes/glibc/glibc-2.3.6/glibc-2.3.6-bind-already-defined-on-powerpc.patch @@ -0,0 +1,65 @@ +Fixes "Error: symbol `__bind' is already defined" error when building for PowerPC + +Patch taken from http://bugs.debian.org/343571 + + +--- x/sysdeps/powerpc/powerpc32/fpu/s_lround.S 2004-06-30 17:29:12.000000000 -0500 ++++ x/sysdeps/powerpc/powerpc32/fpu/s_lround.S 2005-11-18 16:48:11.000000000 -0600 +@@ -88,7 +79,6 @@ + b .L9 + END (__lround) + +-strong_alias (__lround, __lround) + weak_alias (__lround, lround) + + strong_alias (__lround, __lroundf) +--- x/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S 2005-12-16 01:04:21.000000000 -0600 ++++ x/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S 2005-12-16 01:06:26.000000000 -0600 +@@ -42,7 +42,11 @@ + #define stackblock 20 + + #ifndef __socket +-#define __socket P(__,socket) ++# ifndef NO_WEAK_ALIAS ++# define __socket P(__,socket) ++# else ++# define __socket socket ++# endif + #endif + + .text +@@ -116,4 +120,6 @@ + + PSEUDO_END (__socket) + ++#ifndef NO_WEAK_ALIAS + weak_alias (__socket, socket) ++#endif +--- x/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S 2005-12-16 01:08:45.000000000 -0600 ++++ x/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S 2005-12-16 01:09:32.000000000 -0600 +@@ -41,12 +41,12 @@ + + #define stackblock 80 /* offset to socket parm area. */ + +-#ifndef socket +-/* If this is just socket.S leave it alone! */ +-#else + #ifndef __socket +-#define __socket P(__,socket) +-#endif ++# ifndef NO_WEAK_ALIAS ++# define __socket P(__,socket) ++# else ++# define __socket socket ++# endif + #endif + + .text +@@ -120,4 +120,6 @@ + cfi_endproc + PSEUDO_END (__socket) + ++#ifndef NO_WEAK_ALIAS + weak_alias (__socket, socket) ++#endif + diff --git a/recipes/glibc/glibc-2.3.6/glibc-2.3.6-linuxthreads-allow-gcc-4.1-powerpc32-initfini.s.patch b/recipes/glibc/glibc-2.3.6/glibc-2.3.6-linuxthreads-allow-gcc-4.1-powerpc32-initfini.s.patch new file mode 100644 index 0000000000..9976eccef9 --- /dev/null +++ b/recipes/glibc/glibc-2.3.6/glibc-2.3.6-linuxthreads-allow-gcc-4.1-powerpc32-initfini.s.patch @@ -0,0 +1,28 @@ +fixes + +{BUILD_DIR}/build-glibc/linuxthreads/crtn.o: In function "dummy": +{BUILD_DIR}/build-glibc/linuxthreads/crtn.S:14: multiple definition of "dummy" +{BUILD_DIR}/build-glibc/linuxthreads/crti.o:{BUILD_DIR}/build-glibc/linuxthreads/crti.S:33: first defined here +{BUILD_DIR}/build-glibc/linuxthreads/crtn.o: In function "_fini": +{BUILD_DIR}/build-glibc/linuxthreads/crtn.S:30: multiple definition of "_fini" +{BUILD_DIR}/build-glibc/linuxthreads/crti.o:{BUILD_DIR}/build-glibc/linuxthreads/crti.S:65: first defined here +{BUILD_DIR}/build-glibc/linuxthreads/crtn.o: In function "_init": +{BUILD_DIR}/build-glibc/linuxthreads/crtn.S:23: multiple definition of "_init" +{BUILD_DIR}/build-glibc/linuxthreads/crti.o:{BUILD_DIR}/build-glibc/linuxthreads/crti.S:37: first defined here +{BUILD_DIR}/build-glibc/linuxthreads/crti.o: In function "_fini": +{BUILD_DIR}/build-glibc/linuxthreads/crti.S:(.text+0x70): undefined reference to "i_am_not_a_leaf" +{BUILD_DIR}/build-glibc/linuxthreads/crtn.o: In function "_fini": +{BUILD_DIR}/build-glibc/linuxthreads/crtn.S:(.text+0x38): undefined reference to "i_am_not_a_leaf" +collect2: ld returned 1 exit status + +--- glibc-2.3.6/linuxthreads/sysdeps/powerpc/Makefile.org 2003-02-17 20:33:17.000000000 +0000 ++++ glibc-2.3.6/linuxthreads/sysdeps/powerpc/Makefile 2007-04-04 16:26:01.969067632 +0100 +@@ -1,6 +1,6 @@ + ifeq ($(subdir):$(elf),linuxthreads:yes) + # See CFLAGS-initfini.s above; this is the same code. +-CFLAGS-pt-initfini.s = -g0 -fpic -O1 ++CFLAGS-pt-initfini.s = -g0 -fpic -O1 $(fno-unit-at-a-time) + endif + ifeq ($(subdir),csu) + gen-as-const-headers += tcb-offsets.sym + diff --git a/recipes/glibc/glibc-2.3.6/glibc-2.3.6-linuxthreads-pthread-raise.patch b/recipes/glibc/glibc-2.3.6/glibc-2.3.6-linuxthreads-pthread-raise.patch new file mode 100644 index 0000000000..dae5db3846 --- /dev/null +++ b/recipes/glibc/glibc-2.3.6/glibc-2.3.6-linuxthreads-pthread-raise.patch @@ -0,0 +1,37 @@ +--- glibc-2.3.6/linuxthreads/sysdeps/unix/sysv/linux/raise.c.org 2008-07-16 22:57:58.000000000 -0700 ++++ glibc-2.3.6/linuxthreads/sysdeps/unix/sysv/linux/raise.c 2008-07-16 22:58:26.000000000 -0700 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1991, 1996, 2002, 2003 Free Software Foundation, Inc. ++/* Copyright (C) 1991, 1996, 2002, 2003, 2005 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -18,10 +18,13 @@ + + #include <signal.h> + #include <unistd.h> +-#include <bits/libc-lock.h> + +-#ifndef SHARED ++#ifndef IS_IN_rtld ++# include <bits/libc-lock.h> ++ ++# ifndef SHARED + weak_extern (__pthread_raise) ++# endif + #endif + + /* Raise the signal SIG. */ +@@ -29,8 +32,12 @@ int + raise (sig) + int sig; + { ++#ifdef IS_IN_rtld ++ return __kill (__getpid (), sig); ++#else + return __libc_maybe_call2 (pthread_raise, (sig), + __kill (__getpid (), sig)); ++#endif + } + libc_hidden_def (raise) + weak_alias (raise, gsignal) diff --git a/recipes/glibc/glibc-2.3.6/glibc-arm-socket-weakalias.patch b/recipes/glibc/glibc-2.3.6/glibc-arm-socket-weakalias.patch new file mode 100644 index 0000000000..722365f122 --- /dev/null +++ b/recipes/glibc/glibc-2.3.6/glibc-arm-socket-weakalias.patch @@ -0,0 +1,45 @@ +This one was taken from debian. + +# DP: Description: Fix __bind redefinition problem +# DP: Related bugs: +# DP: Dpatch author: Phil Blundell +# DP: Patch author: Daniel Jacobowitz +# DP: Upstream status: In CVS +# DP: Status Details: +# DP: Date: 2005-12-25 + +Index: sysdeps/unix/sysv/linux/arm/socket.S +=================================================================== +RCS file: /cvs/glibc/ports/sysdeps/unix/sysv/linux/arm/socket.S,v +retrieving revision 1.12 +retrieving revision 1.13 +diff -u -r1.12 -r1.13 +--- glibc-2.3.6.ds1.orig/sysdeps/unix/sysv/linux/arm/socket.S 4 Dec 2004 21:20:16 -0000 1.12 ++++ glibc-2.3.6.ds1/sysdeps/unix/sysv/linux/arm/socket.S 27 Oct 2005 18:50:12 -0000 1.13 +@@ -1,4 +1,6 @@ +-/* Copyright (C) 1995, 1996, 1997, 1998, 2003 Free Software Foundation, Inc. ++/* Copyright (C) 1995, 1996, 1997, 1998, 2003, 2004, 2005 ++ Free Software Foundation, Inc. ++ + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -32,7 +34,11 @@ + The .S files for the other calls just #define socket and #include this. */ + + #ifndef __socket ++#ifndef NO_WEAK_ALIAS + #define __socket P(__,socket) ++#else ++#define __socket socket ++#endif + #endif + + #define PUSHARGS_1 str a1, [sp, $-4]! +@@ -120,4 +126,6 @@ + + PSEUDO_END (__socket) + ++#ifndef NO_WEAK_ALIAS + weak_alias (__socket, socket) ++#endif diff --git a/recipes/glibc/glibc-2.3.6/glibc-cross_sunrpc.patch b/recipes/glibc/glibc-2.3.6/glibc-cross_sunrpc.patch new file mode 100644 index 0000000000..8e24a831b0 --- /dev/null +++ b/recipes/glibc/glibc-2.3.6/glibc-cross_sunrpc.patch @@ -0,0 +1,79 @@ +Fix rpcsvc headers missing from glibc, also +allows glibc to produce the rpc headers when cross compiling, +And fix for glibc-bootstrap package doesn't currently build because the +generated sunrpc headers are not available + + +--- + sunrpc/Makefile | 28 ++++++++++++++++++++++++---- + 1 file changed, 24 insertions(+), 4 deletions(-) + +Index: glibc-2.3.6/sunrpc/Makefile +=================================================================== +--- glibc-2.3.6.orig/sunrpc/Makefile 2005-07-17 20:03:49.000000000 -0700 ++++ glibc-2.3.6/sunrpc/Makefile 2008-07-17 15:28:04.000000000 -0700 +@@ -75,6 +75,8 @@ install-sbin := rpcinfo + rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \ + rpc_scan.o rpc_util.o rpc_svcout.o rpc_clntout.o \ + rpc_tblout.o rpc_sample.o ++host-rpcgen-objs = $(addprefix host-,$(rpcgen-objs)) ++ + # These headers are part of rpcgen. + distribute := proto.h rpc_util.h rpc_parse.h rpc_scan.h \ + $(rpcgen-objs:.o=.c) etc.rpc \ +@@ -98,8 +100,8 @@ otherlibs += $(nssobjdir)/libnss_files.a + $(resolvobjdir)/libresolv.a + endif + +-ifeq (no,$(cross-compiling)) +-# We can only build this library if we can run the rpcgen we build. ++ifneq (,$(findstring subdir_install,$(MAKECMDGOALS))) ++## We can only build this library if we can run the rpcgen we build. + headers += $(rpcsvc:%.x=rpcsvc/%.h) + extra-libs := librpcsvc + extra-libs-others := librpcsvc # Make it in `others' pass, not `lib' pass. +@@ -144,8 +146,26 @@ cpp-srcs-left := $(rpcgen-objs:.o=.c) + lib := nonlib + include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left)) + ++# Rely on the target rpcgen objects for dependency information. ++$(objpfx)host-%.o: %.c $(objpfx)%.o ++ $(patsubst %/,cd % &&,$(objpfx)) \ ++ $(BUILD_CC) $($(basename $(<F))-CFLAGS) \ ++ -I$(shell cd .. && pwd) \ ++ -Dattribute_hidden= \ ++ -include $(shell cd ../include && pwd)/libintl.h \ ++ -O2 $(ALL_BUILD_CFLAGS) $(shell pwd)/$(<F) -c -o $(@F) ++ ++$(objpfx)host-rpcgen: $(addprefix $(objpfx),$(host-rpcgen-objs)) ++ $(BUILD_CC) $(BUILD_CFLAGS) $+ -o $(objpfx)host-rpcgen ++ + # Tell rpcgen where to find the C preprocessor. ++ifeq ($(cross-compiling),no) + rpcgen-cmd = CPP='$(CC) -E -x c-header' $(built-program-cmd) -Y ../scripts ++rpcgen-prog = $(objpfx)rpcgen ++else ++rpcgen-cmd = CPP='$(CC) -E -x c-header' $(objpfx)host-rpcgen -Y ../scripts ++rpcgen-prog = $(objpfx)host-rpcgen ++endif + + # Install the rpc data base file. + $(inst_sysconfdir)/rpc: etc.rpc $(+force) +@@ -156,7 +176,7 @@ $(inst_sysconfdir)/rpc: etc.rpc $(+force + # relinked. + $(rpcsvc:%.x=$(objpfx)rpcsvc/%.h): $(objpfx)rpcsvc/%.h: $(objpfx)rpcsvc/%.stmp + @: +-$(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(objpfx)rpcgen ++$(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(rpcgen-prog) + $(make-target-directory) + -@rm -f ${@:stmp=T} $@ + $(rpcgen-cmd) -h $< -o ${@:stmp=T} +@@ -166,7 +186,7 @@ $(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(obj + # Generate the rpcsvc XDR functions with rpcgen. + $(rpcsvc:%.x=$(objpfx)x%.c): $(objpfx)x%.c: $(objpfx)x%.stmp + @: +-$(objpfx)x%.stmp: rpcsvc/%.x $(objpfx)rpcgen ++$(objpfx)x%.stmp: rpcsvc/%.x $(rpcgen-prog) + -@rm -f ${@:stmp=T} $@ + $(rpcgen-cmd) -c $< -o ${@:stmp=T} + $(move-if-change) $(@:stmp=T) $(@:stmp=c) diff --git a/recipes/glibc/glibc-2.3.6/glibc-memusage.patch b/recipes/glibc/glibc-2.3.6/glibc-memusage.patch new file mode 100644 index 0000000000..39ca1a77b5 --- /dev/null +++ b/recipes/glibc/glibc-2.3.6/glibc-memusage.patch @@ -0,0 +1,44 @@ +--- + malloc/Makefile | 4 +++- + malloc/memusage.sh | 6 ++++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +Index: glibc-2.3.6/malloc/Makefile +=================================================================== +--- glibc-2.3.6.orig/malloc/Makefile 2008-07-17 14:40:54.000000000 -0700 ++++ glibc-2.3.6/malloc/Makefile 2008-07-17 14:42:07.000000000 -0700 +@@ -80,7 +80,7 @@ ifneq ($(cross-compiling),yes) + ifneq ($(LIBGD),no) + install-bin = memusagestat + install-bin-script += memusage +-generated += memusagestat memusage ++generated += memusagestat + extra-objs += memusagestat.o + + # The configure.in check for libgd and its headers did not use $SYSINCLUDES. +@@ -90,6 +90,8 @@ extra-objs += memusagestat.o + $(objpfx)memusagestat.o: sysincludes = # nothing + endif + endif ++install-bin-script += memusage ++generated += memusage + + # Another goal which can be used to override the configure decision. + .PHONY: do-memusagestat +Index: glibc-2.3.6/malloc/memusage.sh +=================================================================== +--- glibc-2.3.6.orig/malloc/memusage.sh 2008-07-17 14:42:17.000000000 -0700 ++++ glibc-2.3.6/malloc/memusage.sh 2008-07-17 14:42:54.000000000 -0700 +@@ -205,6 +205,12 @@ if test $# -eq 0; then + do_usage + fi + ++# Find memusagestat. ++if test -n "$png" -a ! -x $memusagestat; then ++ echo >&2 $"PNG generation is not supported." ++ png="" ++fi ++ + # This will be in the environment. + add_env="LD_PRELOAD=$memusageso" + diff --git a/recipes/glibc/glibc-2.3.6/glibc-rtld-libcc-eh.patch b/recipes/glibc/glibc-2.3.6/glibc-rtld-libcc-eh.patch new file mode 100644 index 0000000000..a3658f4cd6 --- /dev/null +++ b/recipes/glibc/glibc-2.3.6/glibc-rtld-libcc-eh.patch @@ -0,0 +1,25 @@ +--- + elf/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Index: glibc-2.3.6/elf/Makefile +=================================================================== +--- glibc-2.3.6.orig/elf/Makefile 2008-07-17 01:10:39.000000000 -0700 ++++ glibc-2.3.6/elf/Makefile 2008-07-17 01:17:18.000000000 -0700 +@@ -279,7 +279,7 @@ $(objpfx)rtld-libc.a: $(objpfx)librtld.m + $(MAKE) -f $< -f rtld-Rules + + $(objpfx)librtld.os: $(objpfx)dl-allobjs.os $(objpfx)rtld-libc.a +- $(LINK.o) -nostdlib -nostartfiles -r -o $@ '-Wl,-(' $^ -lgcc '-Wl,-)' \ ++ $(LINK.o) -nostdlib -nostartfiles -r -o $@ '-Wl,-(' $^ -lgcc -lgcc_eh '-Wl,-)' \ + -Wl,-Map,$@.map + + generated += librtld.map librtld.mk rtld-libc.a librtld.os.map +@@ -295,6 +295,7 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld + -e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \ + > $@.lds + $(LINK.o) -nostdlib -nostartfiles -shared -o $@ \ ++ -lgcc -lgcc_eh \ + $(LDFLAGS-rtld) -Wl,-z,defs $(z-now-$(bind-now)) \ + $(filter-out $(map-file),$^) $(load-map-file) \ + -Wl,-soname=$(rtld-installed-name) -T $@.lds diff --git a/recipes/glibc/glibc-2.3.6/late-install-loop-break.patch b/recipes/glibc/glibc-2.3.6/late-install-loop-break.patch new file mode 100644 index 0000000000..fc7d8b31e6 --- /dev/null +++ b/recipes/glibc/glibc-2.3.6/late-install-loop-break.patch @@ -0,0 +1,29 @@ +--- glibc-2.3.6/Makerules Sat Sep 8 22:59:54 2007 ++++ glibc-2.3.6/Makerules Sun Sep 9 01:04:29 2007 +@@ -154,26 +154,6 @@ + common-before-compile = $(before-compile) + endif + +-ifndef subdir +-# If a makefile needs to do something conditional on something that +-# can only be figured out from headers, write a FOO.make.c input +-# file that uses cpp contructs and contains @@@ LINE @@@ for each LINE +-# to emit in the generated makefile, and use -include $(common-objpfx)FOO.make. +-# +-# We only generate these in the top-level makefile, to avoid any weirdness +-# from subdir-specific makefile tweaks creeping in on an update. +-$(common-objpfx)%.make: $(..)%.make.c $(..)Makerules $(common-before-compile) +- rm -f $@T $@.dT +- (echo '# Generated from $*.make.c by Makerules.'; \ +- $(CC) $(CFLAGS) $(CPPFLAGS) -E $< \ +- -MD -MP -MT '$$(common-objpfx)$*.make' -MF $@.dT \ +- | sed -n '/@@@/{s/@@@[ ]*\(.*\)@@@/\1/;s/[ ]*$$//p;}'; \ +- echo 'common-generated += $(@F)'; \ +- sed $(sed-remove-objpfx) $(sed-remove-dotdot) $@.dT; \ +- rm -f $@.dT) > $@T +- mv -f $@T $@ +-endif +- + ifdef subdir + sed-remove-dotdot := -e 's@ *\.\.\/\([^ \]*\)@ $$(..)\1@g' \ + -e 's@^\.\.\/\([^ \]*\)@$$(..)\1@g' |