diff options
Diffstat (limited to 'recipes')
55 files changed, 0 insertions, 5053 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 deleted file mode 100644 index 46e06d3f0a..0000000000 --- a/recipes/glibc/glibc-2.3.6/etc/ld.so.conf +++ /dev/null @@ -1,2 +0,0 @@ -/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 deleted file mode 100644 index 4348d6f5d0..0000000000 --- a/recipes/glibc/glibc-2.3.6/glibc-2.3.6-allow-gcc-4.1-powerpc32-initfini.s.patch +++ /dev/null @@ -1,28 +0,0 @@ -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 deleted file mode 100644 index 9938ef6973..0000000000 --- a/recipes/glibc/glibc-2.3.6/glibc-2.3.6-bind-already-defined-on-powerpc.patch +++ /dev/null @@ -1,65 +0,0 @@ -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 deleted file mode 100644 index 9976eccef9..0000000000 --- a/recipes/glibc/glibc-2.3.6/glibc-2.3.6-linuxthreads-allow-gcc-4.1-powerpc32-initfini.s.patch +++ /dev/null @@ -1,28 +0,0 @@ -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 deleted file mode 100644 index dae5db3846..0000000000 --- a/recipes/glibc/glibc-2.3.6/glibc-2.3.6-linuxthreads-pthread-raise.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- 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 deleted file mode 100644 index 722365f122..0000000000 --- a/recipes/glibc/glibc-2.3.6/glibc-arm-socket-weakalias.patch +++ /dev/null @@ -1,45 +0,0 @@ -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 deleted file mode 100644 index 8e24a831b0..0000000000 --- a/recipes/glibc/glibc-2.3.6/glibc-cross_sunrpc.patch +++ /dev/null @@ -1,79 +0,0 @@ -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 deleted file mode 100644 index 39ca1a77b5..0000000000 --- a/recipes/glibc/glibc-2.3.6/glibc-memusage.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- - 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 deleted file mode 100644 index a3658f4cd6..0000000000 --- a/recipes/glibc/glibc-2.3.6/glibc-rtld-libcc-eh.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- - 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 deleted file mode 100644 index fc7d8b31e6..0000000000 --- a/recipes/glibc/glibc-2.3.6/late-install-loop-break.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- 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' diff --git a/recipes/glibc/glibc-2.4/arm-longlong.patch b/recipes/glibc/glibc-2.4/arm-longlong.patch deleted file mode 100644 index 28aca83dff..0000000000 --- a/recipes/glibc/glibc-2.4/arm-longlong.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- glibc-2.4/stdlib/longlong.h.ark 2006-03-11 22:49:27.000000000 +0100 -+++ glibc-2.4/stdlib/longlong.h 2006-03-11 22:55:12.000000000 +0100 -@@ -206,6 +206,14 @@ - "rI" ((USItype) (bh)), \ - "r" ((USItype) (al)), \ - "rI" ((USItype) (bl)) __CLOBBER_CC) -+/* v3m and all higher arches have long multiply support. */ -+#if !defined(__ARM_ARCH_2__) && !defined(__ARM_ARCH_3__) -+#define umul_ppmm(xh, xl, a, b) \ -+ __asm__ ("umull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b)) -+#define UMUL_TIME 5 -+#define smul_ppmm(xh, xl, a, b) \ -+ __asm__ ("smull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b)) -+#else - #define umul_ppmm(xh, xl, a, b) \ - {register USItype __t0, __t1, __t2; \ - __asm__ ("%@ Inlined umul_ppmm\n" \ -@@ -227,7 +235,13 @@ - : "r" ((USItype) (a)), \ - "r" ((USItype) (b)) __CLOBBER_CC );} - #define UMUL_TIME 20 -+#endif - #define UDIV_TIME 100 -+#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__) -+#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X)) -+#define COUNT_LEADING_ZEROS_0 32 -+#endif -+ - #endif /* __arm__ */ - - #if defined (__hppa) && W_TYPE_SIZE == 32 ---- glibc-2.4/ports/sysdeps/arm/mp_clz_tab.c.ark 2006-03-11 22:56:43.000000000 +0100 -+++ glibc-2.4/ports/sysdeps/arm/mp_clz_tab.c 2006-03-11 22:58:19.000000000 +0100 -@@ -0,0 +1,24 @@ -+/* __clz_tab -- support for longlong.h -+ Copyright (C) 2004 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 -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__) -+/* Nothing required. */ -+#else -+#include <stdlib/mp_clz_tab.c> -+#endif diff --git a/recipes/glibc/glibc-2.4/arm-memcpy.patch b/recipes/glibc/glibc-2.4/arm-memcpy.patch deleted file mode 100644 index bc2b3dab84..0000000000 --- a/recipes/glibc/glibc-2.4/arm-memcpy.patch +++ /dev/null @@ -1,758 +0,0 @@ ---- /dev/null 2004-02-02 20:32:13.000000000 +0000 -+++ sysdeps/arm/memmove.S 2004-03-20 18:37:23.000000000 +0000 -@@ -0,0 +1,251 @@ -+/* -+ * Optimized memmove implementation for ARM processors -+ * -+ * Author: Nicolas Pitre -+ * Created: Dec 23, 2003 -+ * Copyright: (C) MontaVista Software, Inc. -+ * -+ * This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This file is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ */ -+ -+#include <sysdep.h> -+ -+ -+/* -+ * Endian independent macros for shifting bytes within registers. -+ */ -+#ifndef __ARMEB__ -+#define pull lsr -+#define push lsl -+#else -+#define pull lsl -+#define push lsr -+#endif -+ -+/* -+ * Enable data preload for architectures that support it (ARMv5 and above) -+ */ -+#if defined(__ARM_ARCH_5__) || \ -+ defined(__ARM_ARCH_5T__) || \ -+ defined(__ARM_ARCH_5TE__) -+#define PLD(code...) code -+#else -+#define PLD(code...) -+#endif -+ -+ -+/* char * memmove (char *dst, const char *src) */ -+ENTRY(memmove) -+ subs ip, r0, r1 -+ cmphi r2, ip -+ bls memcpy(PLT) -+ -+ stmfd sp!, {r0, r4, lr} -+ add r1, r1, r2 -+ add r0, r0, r2 -+ subs r2, r2, #4 -+ blt 25f -+ ands ip, r0, #3 -+ PLD( pld [r1, #-4] ) -+ bne 26f -+ ands ip, r1, #3 -+ bne 27f -+ -+19: subs r2, r2, #4 -+ blt 24f -+ subs r2, r2, #8 -+ blt 23f -+ subs r2, r2, #16 -+ blt 22f -+ -+ PLD( pld [r1, #-32] ) -+ PLD( subs r2, r2, #96 ) -+ stmfd sp!, {r5 - r8} -+ PLD( blt 21f ) -+ -+ PLD( @ cache alignment ) -+ PLD( ands ip, r1, #31 ) -+ PLD( pld [r1, #-64] ) -+ PLD( beq 20f ) -+ PLD( cmp r2, ip ) -+ PLD( pld [r1, #-96] ) -+ PLD( blt 20f ) -+ PLD( cmp ip, #16 ) -+ PLD( sub r2, r2, ip ) -+ PLD( ldmgedb r1!, {r3 - r6} ) -+ PLD( stmgedb r0!, {r3 - r6} ) -+ PLD( beq 20f ) -+ PLD( and ip, ip, #15 ) -+ PLD( cmp ip, #8 ) -+ PLD( ldr r3, [r1, #-4]! ) -+ PLD( ldrge r4, [r1, #-4]! ) -+ PLD( ldrgt r5, [r1, #-4]! ) -+ PLD( str r3, [r0, #-4]! ) -+ PLD( strge r4, [r0, #-4]! ) -+ PLD( strgt r5, [r0, #-4]! ) -+ -+20: PLD( pld [r1, #-96] ) -+ PLD( pld [r1, #-128] ) -+21: ldmdb r1!, {r3, r4, ip, lr} -+ subs r2, r2, #32 -+ stmdb r0!, {r3, r4, ip, lr} -+ ldmdb r1!, {r3, r4, ip, lr} -+ stmgedb r0!, {r3, r4, ip, lr} -+ ldmgedb r1!, {r3, r4, ip, lr} -+ stmgedb r0!, {r3, r4, ip, lr} -+ ldmgedb r1!, {r3, r4, ip, lr} -+ subges r2, r2, #32 -+ stmdb r0!, {r3, r4, ip, lr} -+ bge 20b -+ PLD( cmn r2, #96 ) -+ PLD( bge 21b ) -+ PLD( add r2, r2, #96 ) -+ tst r2, #31 -+ ldmfd sp!, {r5 - r8} -+ ldmeqfd sp!, {r0, r4, pc} -+ -+ tst r2, #16 -+22: ldmnedb r1!, {r3, r4, ip, lr} -+ stmnedb r0!, {r3, r4, ip, lr} -+ -+ tst r2, #8 -+23: ldmnedb r1!, {r3, r4} -+ stmnedb r0!, {r3, r4} -+ -+ tst r2, #4 -+24: ldrne r3, [r1, #-4]! -+ strne r3, [r0, #-4]! -+ -+25: ands r2, r2, #3 -+ ldmeqfd sp!, {r0, r4, pc} -+ -+ cmp r2, #2 -+ ldrb r3, [r1, #-1] -+ ldrgeb r4, [r1, #-2] -+ ldrgtb ip, [r1, #-3] -+ strb r3, [r0, #-1] -+ strgeb r4, [r0, #-2] -+ strgtb ip, [r0, #-3] -+ ldmfd sp!, {r0, r4, pc} -+ -+26: cmp ip, #2 -+ ldrb r3, [r1, #-1]! -+ ldrgeb r4, [r1, #-1]! -+ ldrgtb lr, [r1, #-1]! -+ strb r3, [r0, #-1]! -+ strgeb r4, [r0, #-1]! -+ strgtb lr, [r0, #-1]! -+ subs r2, r2, ip -+ blt 25b -+ ands ip, r1, #3 -+ beq 19b -+ -+27: bic r1, r1, #3 -+ cmp ip, #2 -+ ldr r3, [r1] -+ beq 35f -+ blt 36f -+ -+ -+ .macro backward_copy_shift push pull -+ -+ cmp r2, #12 -+ PLD( pld [r1, #-4] ) -+ blt 33f -+ subs r2, r2, #28 -+ stmfd sp!, {r5 - r9} -+ blt 31f -+ -+ PLD( subs r2, r2, #96 ) -+ PLD( pld [r1, #-32] ) -+ PLD( blt 30f ) -+ PLD( pld [r1, #-64] ) -+ -+ PLD( @ cache alignment ) -+ PLD( ands ip, r1, #31 ) -+ PLD( pld [r1, #-96] ) -+ PLD( beq 29f ) -+ PLD( cmp r2, ip ) -+ PLD( pld [r1, #-128] ) -+ PLD( blt 29f ) -+ PLD( sub r2, r2, ip ) -+28: PLD( mov r4, r3, push #\push ) -+ PLD( ldr r3, [r1, #-4]! ) -+ PLD( subs ip, ip, #4 ) -+ PLD( orr r4, r4, r3, pull #\pull ) -+ PLD( str r4, [r0, #-4]! ) -+ PLD( bgt 28b ) -+ -+29: PLD( pld [r1, #-128] ) -+30: mov lr, r3, push #\push -+ ldmdb r1!, {r3 - r9, ip} -+ subs r2, r2, #32 -+ orr lr, lr, ip, pull #\pull -+ mov ip, ip, push #\push -+ orr ip, ip, r9, pull #\pull -+ mov r9, r9, push #\push -+ orr r9, r9, r8, pull #\pull -+ mov r8, r8, push #\push -+ orr r8, r8, r7, pull #\pull -+ mov r7, r7, push #\push -+ orr r7, r7, r6, pull #\pull -+ mov r6, r6, push #\push -+ orr r6, r6, r5, pull #\pull -+ mov r5, r5, push #\push -+ orr r5, r5, r4, pull #\pull -+ mov r4, r4, push #\push -+ orr r4, r4, r3, pull #\pull -+ stmdb r0!, {r4 - r9, ip, lr} -+ bge 29b -+ PLD( cmn r2, #96 ) -+ PLD( bge 30b ) -+ PLD( add r2, r2, #96 ) -+ cmn r2, #16 -+ blt 32f -+31: mov r7, r3, push #\push -+ ldmdb r1!, {r3 - r6} -+ sub r2, r2, #16 -+ orr r7, r7, r6, pull #\pull -+ mov r6, r6, push #\push -+ orr r6, r6, r5, pull #\pull -+ mov r5, r5, push #\push -+ orr r5, r5, r4, pull #\pull -+ mov r4, r4, push #\push -+ orr r4, r4, r3, pull #\pull -+ stmdb r0!, {r4 - r7} -+32: adds r2, r2, #28 -+ ldmfd sp!, {r5 - r9} -+ blt 34f -+33: mov r4, r3, push #\push -+ ldr r3, [r1, #-4]! -+ subs r2, r2, #4 -+ orr r4, r4, r3, pull #\pull -+ str r4, [r0, #-4]! -+ bge 33b -+34: -+ .endm -+ -+ -+ backward_copy_shift push=8 pull=24 -+ add r1, r1, #3 -+ b 25b -+ -+35: backward_copy_shift push=16 pull=16 -+ add r1, r1, #2 -+ b 25b -+ -+36: backward_copy_shift push=24 pull=8 -+ add r1, r1, #1 -+ b 25b -+ -+ .size memmove, . - memmove -+END(memmove) -+libc_hidden_builtin_def (memmove) ---- /dev/null 2004-02-02 20:32:13.000000000 +0000 -+++ sysdeps/arm/bcopy.S 2004-03-20 18:37:48.000000000 +0000 -@@ -0,0 +1,255 @@ -+/* -+ * Optimized memmove implementation for ARM processors -+ * -+ * Author: Nicolas Pitre -+ * Created: Dec 23, 2003 -+ * Copyright: (C) MontaVista Software, Inc. -+ * -+ * This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This file is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ */ -+ -+#include <sysdep.h> -+ -+ -+/* -+ * Endian independent macros for shifting bytes within registers. -+ */ -+#ifndef __ARMEB__ -+#define pull lsr -+#define push lsl -+#else -+#define pull lsl -+#define push lsr -+#endif -+ -+/* -+ * Enable data preload for architectures that support it (ARMv5 and above) -+ */ -+#if defined(__ARM_ARCH_5__) || \ -+ defined(__ARM_ARCH_5T__) || \ -+ defined(__ARM_ARCH_5TE__) -+#define PLD(code...) code -+#else -+#define PLD(code...) -+#endif -+ -+dst .req r1 -+src .req r0 -+ -+/* void *bcopy (const char *src, char *dst, size_t size) */ -+ENTRY(bcopy) -+ subs ip, dst, src -+ cmphi r2, ip -+ movls r3, r0 -+ movls r0, r1 -+ movls r1, r3 -+ bls memcpy(PLT) -+ -+ stmfd sp!, {r4, lr} -+ add src, src, r2 -+ add dst, dst, r2 -+ subs r2, r2, #4 -+ blt 25f -+ ands ip, dst, #3 -+ PLD( pld [src, #-4] ) -+ bne 26f -+ ands ip, src, #3 -+ bne 27f -+ -+19: subs r2, r2, #4 -+ blt 24f -+ subs r2, r2, #8 -+ blt 23f -+ subs r2, r2, #16 -+ blt 22f -+ -+ PLD( pld [src, #-32] ) -+ PLD( subs r2, r2, #96 ) -+ stmfd sp!, {r5 - r8} -+ PLD( blt 21f ) -+ -+ PLD( @ cache alignment ) -+ PLD( ands ip, src, #31 ) -+ PLD( pld [src, #-64] ) -+ PLD( beq 20f ) -+ PLD( cmp r2, ip ) -+ PLD( pld [src, #-96] ) -+ PLD( blt 20f ) -+ PLD( cmp ip, #16 ) -+ PLD( sub r2, r2, ip ) -+ PLD( ldmgedb src!, {r3 - r6} ) -+ PLD( stmgedb dst!, {r3 - r6} ) -+ PLD( beq 20f ) -+ PLD( and ip, ip, #15 ) -+ PLD( cmp ip, #8 ) -+ PLD( ldr r3, [src, #-4]! ) -+ PLD( ldrge r4, [src, #-4]! ) -+ PLD( ldrgt r5, [src, #-4]! ) -+ PLD( str r3, [dst, #-4]! ) -+ PLD( strge r4, [dst, #-4]! ) -+ PLD( strgt r5, [dst, #-4]! ) -+ -+20: PLD( pld [src, #-96] ) -+ PLD( pld [src, #-128] ) -+21: ldmdb src!, {r3, r4, ip, lr} -+ subs r2, r2, #32 -+ stmdb dst!, {r3, r4, ip, lr} -+ ldmdb src!, {r3, r4, ip, lr} -+ stmgedb dst!, {r3, r4, ip, lr} -+ ldmgedb src!, {r3, r4, ip, lr} -+ stmgedb dst!, {r3, r4, ip, lr} -+ ldmgedb src!, {r3, r4, ip, lr} -+ subges r2, r2, #32 -+ stmdb dst!, {r3, r4, ip, lr} -+ bge 20b -+ PLD( cmn r2, #96 ) -+ PLD( bge 21b ) -+ PLD( add r2, r2, #96 ) -+ tst r2, #31 -+ ldmfd sp!, {r5 - r8} -+ ldmeqfd sp!, {r4, pc} -+ -+ tst r2, #16 -+22: ldmnedb src!, {r3, r4, ip, lr} -+ stmnedb dst!, {r3, r4, ip, lr} -+ -+ tst r2, #8 -+23: ldmnedb src!, {r3, r4} -+ stmnedb dst!, {r3, r4} -+ -+ tst r2, #4 -+24: ldrne r3, [src, #-4]! -+ strne r3, [dst, #-4]! -+ -+25: ands r2, r2, #3 -+ ldmeqfd sp!, {dst, r4, pc} -+ -+ cmp r2, #2 -+ ldrb r3, [src, #-1] -+ ldrgeb r4, [src, #-2] -+ ldrgtb ip, [src, #-3] -+ strb r3, [dst, #-1] -+ strgeb r4, [dst, #-2] -+ strgtb ip, [dst, #-3] -+ ldmfd sp!, {dst, r4, pc} -+ -+26: cmp ip, #2 -+ ldrb r3, [src, #-1]! -+ ldrgeb r4, [src, #-1]! -+ ldrgtb lr, [src, #-1]! -+ strb r3, [dst, #-1]! -+ strgeb r4, [dst, #-1]! -+ strgtb lr, [dst, #-1]! -+ subs r2, r2, ip -+ blt 25b -+ ands ip, src, #3 -+ beq 19b -+ -+27: bic src, src, #3 -+ cmp ip, #2 -+ ldr r3, [src] -+ beq 35f -+ blt 36f -+ -+ -+ .macro backward_copy_shift push pull -+ -+ cmp r2, #12 -+ PLD( pld [src, #-4] ) -+ blt 33f -+ subs r2, r2, #28 -+ stmfd sp!, {r5 - r9} -+ blt 31f -+ -+ PLD( subs r2, r2, #96 ) -+ PLD( pld [src, #-32] ) -+ PLD( blt 30f ) -+ PLD( pld [src, #-64] ) -+ -+ PLD( @ cache alignment ) -+ PLD( ands ip, src, #31 ) -+ PLD( pld [src, #-96] ) -+ PLD( beq 29f ) -+ PLD( cmp r2, ip ) -+ PLD( pld [src, #-128] ) -+ PLD( blt 29f ) -+ PLD( sub r2, r2, ip ) -+28: PLD( mov r4, r3, push #\push ) -+ PLD( ldr r3, [src, #-4]! ) -+ PLD( subs ip, ip, #4 ) -+ PLD( orr r4, r4, r3, pull #\pull ) -+ PLD( str r4, [dst, #-4]! ) -+ PLD( bgt 28b ) -+ -+29: PLD( pld [src, #-128] ) -+30: mov lr, r3, push #\push -+ ldmdb src!, {r3 - r9, ip} -+ subs r2, r2, #32 -+ orr lr, lr, ip, pull #\pull -+ mov ip, ip, push #\push -+ orr ip, ip, r9, pull #\pull -+ mov r9, r9, push #\push -+ orr r9, r9, r8, pull #\pull -+ mov r8, r8, push #\push -+ orr r8, r8, r7, pull #\pull -+ mov r7, r7, push #\push -+ orr r7, r7, r6, pull #\pull -+ mov r6, r6, push #\push -+ orr r6, r6, r5, pull #\pull -+ mov r5, r5, push #\push -+ orr r5, r5, r4, pull #\pull -+ mov r4, r4, push #\push -+ orr r4, r4, r3, pull #\pull -+ stmdb dst!, {r4 - r9, ip, lr} -+ bge 29b -+ PLD( cmn r2, #96 ) -+ PLD( bge 30b ) -+ PLD( add r2, r2, #96 ) -+ cmn r2, #16 -+ blt 32f -+31: mov r7, r3, push #\push -+ ldmdb src!, {r3 - r6} -+ sub r2, r2, #16 -+ orr r7, r7, r6, pull #\pull -+ mov r6, r6, push #\push -+ orr r6, r6, r5, pull #\pull -+ mov r5, r5, push #\push -+ orr r5, r5, r4, pull #\pull -+ mov r4, r4, push #\push -+ orr r4, r4, r3, pull #\pull -+ stmdb dst!, {r4 - r7} -+32: adds r2, r2, #28 -+ ldmfd sp!, {r5 - r9} -+ blt 34f -+33: mov r4, r3, push #\push -+ ldr r3, [src, #-4]! -+ subs r2, r2, #4 -+ orr r4, r4, r3, pull #\pull -+ str r4, [dst, #-4]! -+ bge 33b -+34: -+ .endm -+ -+ -+ backward_copy_shift push=8 pull=24 -+ add src, src, #3 -+ b 25b -+ -+35: backward_copy_shift push=16 pull=16 -+ add src, src, #2 -+ b 25b -+ -+36: backward_copy_shift push=24 pull=8 -+ add src, src, #1 -+ b 25b -+ -+ .size bcopy, . - bcopy -+END(bcopy) - ---- /dev/null 2004-02-02 20:32:13.000000000 +0000 -+++ sysdeps/arm/memcpy.S 2004-05-02 14:33:22.000000000 +0100 -@@ -0,0 +1,242 @@ -+/* -+ * Optimized memcpy implementation for ARM processors -+ * -+ * Author: Nicolas Pitre -+ * Created: Dec 23, 2003 -+ * Copyright: (C) MontaVista Software, Inc. -+ * -+ * This file is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This file is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ */ -+ -+#include <sysdep.h> -+ -+ -+/* -+ * Endian independent macros for shifting bytes within registers. -+ */ -+#ifndef __ARMEB__ -+#define pull lsr -+#define push lsl -+#else -+#define pull lsl -+#define push lsr -+#endif -+ -+/* -+ * Enable data preload for architectures that support it (ARMv5 and above) -+ */ -+#if defined(__ARM_ARCH_5__) || \ -+ defined(__ARM_ARCH_5T__) || \ -+ defined(__ARM_ARCH_5TE__) -+#define PLD(code...) code -+#else -+#define PLD(code...) -+#endif -+ -+ -+/* char * memcpy (char *dst, const char *src) */ -+ -+ENTRY(memcpy) -+ subs r2, r2, #4 -+ stmfd sp!, {r0, r4, lr} -+ blt 7f -+ ands ip, r0, #3 -+ PLD( pld [r1, #0] ) -+ bne 8f -+ ands ip, r1, #3 -+ bne 9f -+ -+1: subs r2, r2, #4 -+ blt 6f -+ subs r2, r2, #8 -+ blt 5f -+ subs r2, r2, #16 -+ blt 4f -+ -+ PLD( subs r2, r2, #65 ) -+ stmfd sp!, {r5 - r8} -+ PLD( blt 3f ) -+ PLD( pld [r1, #32] ) -+ -+ PLD( @ cache alignment ) -+ PLD( ands ip, r1, #31 ) -+ PLD( pld [r1, #64] ) -+ PLD( beq 2f ) -+ PLD( rsb ip, ip, #32 ) -+ PLD( cmp r2, ip ) -+ PLD( pld [r1, #96] ) -+ PLD( blt 2f ) -+ PLD( cmp ip, #16 ) -+ PLD( sub r2, r2, ip ) -+ PLD( ldmgeia r1!, {r3 - r6} ) -+ PLD( stmgeia r0!, {r3 - r6} ) -+ PLD( beq 2f ) -+ PLD( and ip, ip, #15 ) -+ PLD( cmp ip, #8 ) -+ PLD( ldr r3, [r1], #4 ) -+ PLD( ldrge r4, [r1], #4 ) -+ PLD( ldrgt r5, [r1], #4 ) -+ PLD( str r3, [r0], #4 ) -+ PLD( strge r4, [r0], #4 ) -+ PLD( strgt r5, [r0], #4 ) -+ -+2: PLD( pld [r1, #96] ) -+3: ldmia r1!, {r3 - r8, ip, lr} -+ subs r2, r2, #32 -+ stmia r0!, {r3 - r8, ip, lr} -+ bge 2b -+ PLD( cmn r2, #65 ) -+ PLD( bge 3b ) -+ PLD( add r2, r2, #65 ) -+ tst r2, #31 -+ ldmfd sp!, {r5 - r8} -+ ldmeqfd sp!, {r0, r4, pc} -+ -+ tst r2, #16 -+4: ldmneia r1!, {r3, r4, ip, lr} -+ stmneia r0!, {r3, r4, ip, lr} -+ -+ tst r2, #8 -+5: ldmneia r1!, {r3, r4} -+ stmneia r0!, {r3, r4} -+ -+ tst r2, #4 -+6: ldrne r3, [r1], #4 -+ strne r3, [r0], #4 -+ -+7: ands r2, r2, #3 -+ ldmeqfd sp!, {r0, r4, pc} -+ -+ cmp r2, #2 -+ ldrb r3, [r1], #1 -+ ldrgeb r4, [r1], #1 -+ ldrgtb ip, [r1] -+ strb r3, [r0], #1 -+ strgeb r4, [r0], #1 -+ strgtb ip, [r0] -+ ldmfd sp!, {r0, r4, pc} -+ -+8: rsb ip, ip, #4 -+ cmp ip, #2 -+ ldrb r3, [r1], #1 -+ ldrgeb r4, [r1], #1 -+ ldrgtb lr, [r1], #1 -+ strb r3, [r0], #1 -+ strgeb r4, [r0], #1 -+ strgtb lr, [r0], #1 -+ subs r2, r2, ip -+ blt 7b -+ ands ip, r1, #3 -+ beq 1b -+ -+9: bic r1, r1, #3 -+ cmp ip, #2 -+ ldr lr, [r1], #4 -+ beq 17f -+ bgt 18f -+ -+ -+ .macro forward_copy_shift pull push -+ -+ cmp r2, #12 -+ PLD( pld [r1, #0] ) -+ blt 15f -+ subs r2, r2, #28 -+ stmfd sp!, {r5 - r9} -+ blt 13f -+ -+ PLD( subs r2, r2, #97 ) -+ PLD( blt 12f ) -+ PLD( pld [r1, #32] ) -+ -+ PLD( @ cache alignment ) -+ PLD( rsb ip, r1, #36 ) -+ PLD( pld [r1, #64] ) -+ PLD( ands ip, ip, #31 ) -+ PLD( pld [r1, #96] ) -+ PLD( beq 11f ) -+ PLD( cmp r2, ip ) -+ PLD( pld [r1, #128] ) -+ PLD( blt 11f ) -+ PLD( sub r2, r2, ip ) -+10: PLD( mov r3, lr, pull #\pull ) -+ PLD( ldr lr, [r1], #4 ) -+ PLD( subs ip, ip, #4 ) -+ PLD( orr r3, r3, lr, push #\push ) -+ PLD( str r3, [r0], #4 ) -+ PLD( bgt 10b ) -+ -+11: PLD( pld [r1, #128] ) -+12: mov r3, lr, pull #\pull -+ ldmia r1!, {r4 - r9, ip, lr} -+ subs r2, r2, #32 -+ orr r3, r3, r4, push #\push -+ mov r4, r4, pull #\pull -+ orr r4, r4, r5, push #\push -+ mov r5, r5, pull #\pull -+ orr r5, r5, r6, push #\push -+ mov r6, r6, pull #\pull -+ orr r6, r6, r7, push #\push -+ mov r7, r7, pull #\pull -+ orr r7, r7, r8, push #\push -+ mov r8, r8, pull #\pull -+ orr r8, r8, r9, push #\push -+ mov r9, r9, pull #\pull -+ orr r9, r9, ip, push #\push -+ mov ip, ip, pull #\pull -+ orr ip, ip, lr, push #\push -+ stmia r0!, {r3 - r9, ip} -+ bge 11b -+ PLD( cmn r2, #97 ) -+ PLD( bge 12b ) -+ PLD( add r2, r2, #97 ) -+ cmn r2, #16 -+ blt 14f -+13: mov r3, lr, pull #\pull -+ ldmia r1!, {r4 - r6, lr} -+ sub r2, r2, #16 -+ orr r3, r3, r4, push #\push -+ mov r4, r4, pull #\pull -+ orr r4, r4, r5, push #\push -+ mov r5, r5, pull #\pull -+ orr r5, r5, r6, push #\push -+ mov r6, r6, pull #\pull -+ orr r6, r6, lr, push #\push -+ stmia r0!, {r3 - r6} -+14: adds r2, r2, #28 -+ ldmfd sp!, {r5 - r9} -+ blt 16f -+15: mov r3, lr, pull #\pull -+ ldr lr, [r1], #4 -+ subs r2, r2, #4 -+ orr r3, r3, lr, push #\push -+ str r3, [r0], #4 -+ bge 15b -+16: -+ .endm -+ -+ -+ forward_copy_shift pull=8 push=24 -+ sub r1, r1, #3 -+ b 7b -+ -+17: forward_copy_shift pull=16 push=16 -+ sub r1, r1, #2 -+ b 7b -+ -+18: forward_copy_shift pull=24 push=8 -+ sub r1, r1, #1 -+ b 7b -+ -+ .size memcpy, . - memcpy -+END(memcpy) -+libc_hidden_builtin_def (memcpy) -+ diff --git a/recipes/glibc/glibc-2.4/arm_eabi_ipc_fix.patch b/recipes/glibc/glibc-2.4/arm_eabi_ipc_fix.patch deleted file mode 100644 index 8b36960b04..0000000000 --- a/recipes/glibc/glibc-2.4/arm_eabi_ipc_fix.patch +++ /dev/null @@ -1,94 +0,0 @@ -From libc-ports-return-430-listarch-libc-ports=sources dot redhat dot com at sourceware dot org Mon Aug 21 20:08:57 2006 -Return-Path: <libc-ports-return-430-listarch-libc-ports=sources dot redhat dot com at sourceware dot org> -Delivered-To: listarch-libc-ports at sources dot redhat dot com -Received: (qmail 9913 invoked by alias); 21 Aug 2006 20:08:56 -0000 -Received: (qmail 9893 invoked by uid 22791); 21 Aug 2006 20:08:53 -0000 -X-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,TW_HM,TW_SG,TW_SN -X-Spam-Check-By: sourceware.org -Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Mon, 21 Aug 2006 20:08:44 +0000 -Received: from drow by nevyn.them.org with local (Exim 4.54) id 1GFG4f-0007gO-TW for libc-ports@sourceware.org; Mon, 21 Aug 2006 16:08:42 -0400 -Date: Mon, 21 Aug 2006 16:08:41 -0400 -From: Daniel Jacobowitz <drow at false dot org> -To: libc-ports at sourceware dot org -Subject: ARM IPC fix -Message-ID: <20060821200841.GA29502@nevyn.them.org> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline -User-Agent: Mutt/1.5.11+cvs20060403 -X-IsSubscribed: yes -Mailing-List: contact libc-ports-help at sourceware dot org; run by ezmlm -Precedence: bulk -List-Subscribe: <mailto:libc-ports-subscribe at sourceware dot org> -List-Post: <mailto:libc-ports at sourceware dot org> -List-Help: <mailto:libc-ports-help at sourceware dot org>, <http://sourceware dot org/lists dot html#faqs> -Sender: libc-ports-owner at sourceware dot org -Delivered-To: mailing list libc-ports at sourceware dot org - -We can't treat msgctl as a real syscall; if we don't add __IPC_64, we'll get -a mismatched type for ipc_perm. Fixed by using the Alpha implementation, -which is similar to the standard i386 implementation but doesn't use -the multiplexer syscall. - --- -Daniel Jacobowitz -CodeSourcery - -2006-08-21 Daniel Jacobowitz <dan@codesourcery.com> - - * sysdeps/unix/sysv/linux/arm/eabi/syscalls.list: Remove msgctl, - shmctl, and semctl. - * sysdeps/unix/sysv/linux/arm/eabi/semctl.c, - sysdeps/unix/sysv/linux/arm/eabi/shmctl.c, - sysdeps/unix/sysv/linux/arm/eabi/msgctl.c: New files. - -Index: a/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list -=================================================================== ---- a/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list (revision 147209) -+++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list (working copy) -@@ -1,18 +1,16 @@ - # File name Caller Syscall name # args Strong name Weak names - --# semaphore and shm system calls --msgctl - msgctl i:iip __msgctl msgctl -+# Semaphore and shm system calls. msgctl, shmctl, and semctl have C -+# wrappers (to set __IPC_64). - msgget - msgget i:ii __msgget msgget - msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv - msgsnd - msgsnd Ci:ibni __msgsnd msgsnd - shmat - shmat i:ipi __shmat shmat --shmctl - shmctl i:iip __shmctl shmctl - shmdt - shmdt i:s __shmdt shmdt - shmget - shmget i:iii __shmget shmget - semop - semop i:ipi __semop semop - semtimedop - semtimedop i:ipip semtimedop - semget - semget i:iii __semget semget --semctl - semctl i:iiii __semctl semctl - - # proper socket implementations: - accept - accept Ci:iBN __libc_accept __accept accept - -Property changes on: sysdeps/unix/sysv/linux/arm/eabi/syscalls.list -___________________________________________________________________ -Name: svn:mime-type - - application/octet-stream - -Index: a/ports/sysdeps/unix/sysv/linux/arm/eabi/semctl.c -=================================================================== ---- a/ports/sysdeps/unix/sysv/linux/arm/eabi/semctl.c (revision 0) -+++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/semctl.c (revision 0) -@@ -0,0 +1 @@ -+#include <sysdeps/unix/sysv/linux/alpha/semctl.c> -Index: a/ports/sysdeps/unix/sysv/linux/arm/eabi/msgctl.c -=================================================================== ---- a/ports/sysdeps/unix/sysv/linux/arm/eabi/msgctl.c (revision 0) -+++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/msgctl.c (revision 0) -@@ -0,0 +1 @@ -+#include <sysdeps/unix/sysv/linux/alpha/msgctl.c> -Index: a/ports/sysdeps/unix/sysv/linux/arm/eabi/shmctl.c -=================================================================== ---- a/ports/sysdeps/unix/sysv/linux/arm/eabi/shmctl.c (revision 0) -+++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/shmctl.c (revision 0) -@@ -0,0 +1 @@ -+#include <sysdeps/unix/sysv/linux/alpha/shmctl.c> - diff --git a/recipes/glibc/glibc-2.4/dl-cache-libcmp.patch b/recipes/glibc/glibc-2.4/dl-cache-libcmp.patch deleted file mode 100644 index 2fedfa6db0..0000000000 --- a/recipes/glibc/glibc-2.4/dl-cache-libcmp.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- glibc-2.4/elf/Versions.ark 2006-03-11 23:30:09.000000000 +0100 -+++ glibc-2.4/elf/Versions 2006-03-11 23:31:44.000000000 +0100 -@@ -63,5 +63,7 @@ - _dl_debug_state; - # Pointer protection. - __pointer_chk_guard; -+ # for ldconfig -+ _dl_cache_libcmp; - } - } diff --git a/recipes/glibc/glibc-2.4/dyn-ldconfig-20041128.patch b/recipes/glibc/glibc-2.4/dyn-ldconfig-20041128.patch deleted file mode 100644 index 451b6d4afc..0000000000 --- a/recipes/glibc/glibc-2.4/dyn-ldconfig-20041128.patch +++ /dev/null @@ -1,22 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- libc/elf/Makefile~dyn-ldconfig-20041128 -+++ libc/elf/Makefile -@@ -118,12 +118,13 @@ - - ifeq (yes,$(use-ldconfig)) - ifeq (yes,$(build-shared)) --others-static += ldconfig -+#others-static += ldconfig - others += ldconfig - install-rootsbin += ldconfig - - ldconfig-modules := cache readlib xmalloc xstrdup chroot_canon - extra-objs += $(ldconfig-modules:=.o) -+CPPFLAGS-readlib.c = -DNOT_IN_libc=1 - - # To find xmalloc.c and xstrdup.c - vpath %.c ../locale/programs diff --git a/recipes/glibc/glibc-2.4/dyn-ldconfig.patch b/recipes/glibc/glibc-2.4/dyn-ldconfig.patch deleted file mode 100644 index 1041965d05..0000000000 --- a/recipes/glibc/glibc-2.4/dyn-ldconfig.patch +++ /dev/null @@ -1,62 +0,0 @@ ---- elf/Makefile 13 Mar 2003 21:50:57 -0000 1.258 -+++ elf/Makefile 27 Mar 2003 20:36:07 -0000 -@@ -109,12 +109,13 @@ - - ifeq (yes,$(use-ldconfig)) - ifeq (yes,$(build-shared)) --others-static += ldconfig -+#others-static += ldconfig - others += ldconfig - install-rootsbin += ldconfig - - ldconfig-modules := cache readlib xmalloc xstrdup chroot_canon - extra-objs += $(ldconfig-modules:=.o) -+CPPFLAGS-readlib.c = -DNOT_IN_libc=1 - - # To find xmalloc.c and xstrdup.c - vpath %.c ../locale/programs ---- elf/ldconfig.c 13 Jan 2003 08:53:14 -0000 1.31 -+++ elf/ldconfig.c 27 Mar 2003 20:36:09 -0000 -@@ -149,6 +149,9 @@ - static int - is_hwcap_platform (const char *name) - { -+#if 1 -+ return 0; -+#else - int hwcap_idx = _dl_string_hwcap (name); - - if (hwcap_idx != -1 && ((1 << hwcap_idx) & hwcap_mask)) -@@ -164,6 +167,7 @@ - #endif - - return 0; -+#endif - } - - /* Get hwcap (including platform) encoding of path. */ -@@ -175,6 +179,7 @@ - uint64_t hwcap = 0; - uint64_t h; - -+#if 0 - size_t len; - - len = strlen (str); -@@ -210,6 +215,7 @@ - *ptr = '\0'; - } - -+#endif - free (str); - return hwcap; - } ---- elf/Versions.old 2004-06-26 13:18:35.000000000 +0100 -+++ elf/Versions 2004-06-26 14:41:09.000000000 +0100 -@@ -54,5 +54,6 @@ - _dl_get_tls_static_info; _dl_allocate_tls_init; - _dl_tls_setup; _dl_rtld_di_serinfo; - _dl_make_stack_executable; -+ _dl_cache_libcmp; - } - } diff --git a/recipes/glibc/glibc-2.4/etc/ld.so.conf b/recipes/glibc/glibc-2.4/etc/ld.so.conf deleted file mode 100644 index 46e06d3f0a..0000000000 --- a/recipes/glibc/glibc-2.4/etc/ld.so.conf +++ /dev/null @@ -1,2 +0,0 @@ -/usr/local/lib - diff --git a/recipes/glibc/glibc-2.4/fixup-aeabi-syscalls.patch b/recipes/glibc/glibc-2.4/fixup-aeabi-syscalls.patch deleted file mode 100644 index fb733b9194..0000000000 --- a/recipes/glibc/glibc-2.4/fixup-aeabi-syscalls.patch +++ /dev/null @@ -1,329 +0,0 @@ -Fix up ARM EABI for removed syscalls -http://sourceware.org/ml/libc-ports/2006-03/msg00029.html - -Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/socket.S -=================================================================== ---- glibc.orig/ports/sysdeps/unix/sysv/linux/arm/eabi/socket.S 2006-03-21 15:58:10.000000000 -0500 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,131 +0,0 @@ --/* Copyright (C) 1995, 1996, 1997, 1998, 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 -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, write to the Free -- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -- 02111-1307 USA. */ -- --#include <sysdep-cancel.h> --#include <socketcall.h> -- --#define P(a, b) P2(a, b) --#define P2(a, b) a##b -- -- .text --/* The socket-oriented system calls are handled unusally in Linux. -- They are all gated through the single `socketcall' system call number. -- `socketcall' takes two arguments: the first is the subcode, specifying -- which socket function is being called; and the second is a pointer to -- the arguments to the specific function. -- -- 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, $-8]!; .pad #8 --#define PUSHARGS_2 stmfd sp!, {a1, a2}; .pad #8 --#define PUSHARGS_3 stmfd sp!, {a1, a2, a3, a4}; .pad #16 /* a4 pushed for padding */ --#define PUSHARGS_4 stmfd sp!, {a1, a2, a3, a4}; .pad #16 --#define PUSHARGS_5 stmfd sp!, {a1, a2, a3, a4}; .pad #16 /* Caller has already pushed arg 5 */ --#define PUSHARGS_6 stmfd sp!, {a1, a2, a3, a4}; .pad #16 -- --#define POPARGS_1 add sp, sp, #8 --#define POPARGS_2 add sp, sp, #8 --#define POPARGS_3 add sp, sp, #16 --#define POPARGS_4 add sp, sp, #16 --#define POPARGS_5 add sp, sp, #16 --#define POPARGS_6 add sp, sp, #16 -- --#ifndef NARGS --#define NARGS 3 /* If we were called with no wrapper, this is really socket() */ --#endif -- --#if defined NEED_CANCELLATION && defined CENABLE -- PSEUDO_PROLOGUE --#endif -- --.globl __socket --ENTRY (__socket) -- .fnstart -- -- /* This code previously moved sp into ip and stored the args using -- stmdb ip!, {a1-a4}. It did not modify sp, so the stack never had -- to be restored after the syscall completed. It saved an -- instruction and meant no stack cleanup work was required. -- -- This will not work in the case of a socket call being interrupted -- by a signal. If the signal handler uses any stack the arguments -- to socket will be trashed. The results of a restart of any -- socket call are then unpredictable. */ -- -- /* Push args onto the stack. */ -- P(PUSHARGS_,NARGS) -- --#if defined NEED_CANCELLATION && defined CENABLE -- SINGLE_THREAD_P -- bne 1f --#endif -- -- /* Do the system call trap. */ -- mov a1, $P(SOCKOP_,socket) -- mov a2, sp -- DO_CALL (socketcall, 0) -- -- /* Pop args off the stack */ -- P(POPARGS_,NARGS) -- -- /* r0 is < 0 if there was an error. */ -- cmn r0, $124 -- RETINSTR(cc, r14) -- b PLTJMP(SYSCALL_ERROR) -- --#if defined NEED_CANCELLATION && defined CENABLE --1: -- stmfd sp!, {r7, lr} -- .save {r7, lr} -- CENABLE -- mov ip, r0 -- -- mov r0, #P(SOCKOP_,socket) -- add r1, sp, #8 -- mov r7, #SYS_ify(socketcall) -- swi 0x0 -- -- mov r7, r0 -- mov r0, ip -- CDISABLE -- mov r0, r7 -- ldmfd sp!, {r7, lr} -- -- P(POPARGS_,NARGS) -- -- /* r0 is < 0 if there was an error. */ -- cmn r0, $124 -- RETINSTR(cc, r14) -- b PLTJMP(SYSCALL_ERROR) --#endif -- -- .fnend --PSEUDO_END (__socket) -- --#ifndef NO_WEAK_ALIAS --weak_alias (__socket, socket) --#endif -Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list 2006-03-21 15:58:46.000000000 -0500 -@@ -0,0 +1,34 @@ -+# File name Caller Syscall name # args Strong name Weak names -+ -+# semaphore and shm system calls -+msgctl - msgctl i:iip __msgctl msgctl -+msgget - msgget i:ii __msgget msgget -+msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv -+msgsnd - msgsnd Ci:ibni __msgsnd msgsnd -+shmat - shmat i:ipi __shmat shmat -+shmctl - shmctl i:iip __shmctl shmctl -+shmdt - shmdt i:s __shmdt shmdt -+shmget - shmget i:iii __shmget shmget -+semop - semop i:ipi __semop semop -+semtimedop - semtimedop i:ipip semtimedop -+semget - semget i:iii __semget semget -+semctl - semctl i:iiii __semctl semctl -+ -+# proper socket implementations: -+accept - accept Ci:iBN __libc_accept __accept accept -+bind - bind i:ipi __bind bind -+connect - connect Ci:ipi __libc_connect __connect_internal __connect connect -+getpeername - getpeername i:ipp __getpeername getpeername -+getsockname - getsockname i:ipp __getsockname getsockname -+getsockopt - getsockopt i:iiiBN __getsockopt getsockopt -+listen - listen i:ii __listen listen -+recv - recv Ci:ibni __libc_recv __recv recv -+recvfrom - recvfrom Ci:ibniBN __libc_recvfrom __recvfrom recvfrom -+recvmsg - recvmsg Ci:ipi __libc_recvmsg __recvmsg recvmsg -+send - send Ci:ibni __libc_send __send send -+sendmsg - sendmsg Ci:ipi __libc_sendmsg __sendmsg sendmsg -+sendto - sendto Ci:ibnibn __libc_sendto __sendto sendto -+setsockopt - setsockopt i:iiibn __setsockopt setsockopt -+shutdown - shutdown i:ii __shutdown shutdown -+socket - socket i:iii __socket socket -+socketpair - socketpair i:iiif __socketpair socketpair -Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/linuxthreads/sysdep-cancel.h -=================================================================== ---- glibc.orig/ports/sysdeps/unix/sysv/linux/arm/eabi/linuxthreads/sysdep-cancel.h 2006-03-21 15:58:10.000000000 -0500 -+++ glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/linuxthreads/sysdep-cancel.h 2006-03-21 15:58:46.000000000 -0500 -@@ -53,9 +53,9 @@ - UNDOARGS_##args; \ - cmn r0, $4096; - --/* DOARGS pushes four bytes on the stack for five arguments, and nothing -- otherwise. In order to preserve doubleword alignment, sometimes we must -- save an extra register. */ -+/* DOARGS pushes four bytes on the stack for five arguments, eight bytes for -+ six arguments, and nothing for fewer. In order to preserve doubleword -+ alignment, sometimes we must save an extra register. */ - - # define DOCARGS_0 stmfd sp!, {r7, lr} - # define UNDOCARGS_0 -@@ -81,6 +81,10 @@ - # define UNDOCARGS_5 ldmfd sp!, {r0, r1, r2, r3} - # define RESTORE_LR_5 ldmfd sp!, {r4, r7, lr} - -+# define DOCARGS_6 stmfd sp!, {r0, r1, r2, r3, r7, lr} -+# define UNDOCARGS_6 ldmfd sp!, {r0, r1, r2, r3} -+# define RESTORE_LR_6 RESTORE_LR_0 -+ - # ifdef IS_IN_libpthread - # define CENABLE bl PLTJMP(__pthread_enable_asynccancel) - # define CDISABLE bl PLTJMP(__pthread_disable_asynccancel) -Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h -=================================================================== ---- glibc.orig/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h 2006-03-21 15:58:10.000000000 -0500 -+++ glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h 2006-03-21 15:58:46.000000000 -0500 -@@ -64,9 +64,9 @@ - UNDOARGS_##args; \ - cmn r0, $4096; - --/* DOARGS pushes four bytes on the stack for five arguments, and nothing -- otherwise. In order to preserve doubleword alignment, sometimes we must -- save an extra register. */ -+/* DOARGS pushes four bytes on the stack for five arguments, eight bytes for -+ six arguments, and nothing for fewer. In order to preserve doubleword -+ alignment, sometimes we must save an extra register. */ - - # define RESTART_UNWIND .fnend; .fnstart; .save {r7, lr} - -@@ -94,6 +94,10 @@ - # define UNDOCARGS_5 ldmfd sp!, {r0, r1, r2, r3}; .fnend; .fnstart; .save {r4}; .save {r7, lr}; .pad #4 - # define RESTORE_LR_5 ldmfd sp!, {r4, r7, lr} - -+# define DOCARGS_6 .save {r4, r5}; stmfd sp!, {r0, r1, r2, r3, r7, lr}; .save {r7, lr}; .pad #20 -+# define UNDOCARGS_6 ldmfd sp!, {r0, r1, r2, r3}; .fnend; .fnstart; .save {r4, r5}; .save {r7, lr} -+# define RESTORE_LR_6 RESTORE_LR_0 -+ - # ifdef IS_IN_libpthread - # define CENABLE bl PLTJMP(__pthread_enable_asynccancel) - # define CDISABLE bl PLTJMP(__pthread_disable_asynccancel) -Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h -=================================================================== ---- glibc.orig/ports/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h 2006-03-21 15:58:10.000000000 -0500 -+++ glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h 2006-03-21 15:58:46.000000000 -0500 -@@ -1,4 +1,4 @@ --/* Copyright (C) 2005 -+/* Copyright (C) 2005, 2006 - Free Software Foundation, Inc. - - This file is part of the GNU C Library. -@@ -29,6 +29,12 @@ - # error Kernel headers are too old - #endif - -+/* Don't use stime, even if the kernel headers define it. We have -+ settimeofday, and some EABI kernels have removed stime. Similarly -+ use setitimer to implement alarm. */ -+#undef __NR_stime -+#undef __NR_alarm -+ - /* The ARM EABI user interface passes the syscall number in r7, instead - of in the swi. This is more efficient, because the kernel does not need - to fetch the swi from memory to find out the number; which can be painful -Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/umount.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/umount.c 2006-03-21 15:58:46.000000000 -0500 -@@ -0,0 +1,31 @@ -+/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by David Huggins-Daines <dhd@debian.org>, 2000. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+/* Since we don't have an oldumount system call, do what the kernel -+ does down here. */ -+ -+extern long int __umount2 (const char *name, int flags); -+ -+long int -+__umount (const char *name) -+{ -+ return __umount2 (name, 0); -+} -+ -+weak_alias (__umount, umount); -Index: glibc/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ glibc/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h 2006-03-20 17:26:58.000000000 -0500 -@@ -0,0 +1,31 @@ -+/* Set flags signalling availability of kernel features based on given -+ kernel version number. -+ Copyright (C) 2006 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 -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+/* The utimes syscall was added before 2.6.1. */ -+#if __LINUX_KERNEL_VERSION >= 132609 -+# define __ASSUME_UTIMES 1 -+#endif -+ -+/* The new getrlimit syscall was added sometime before 2.4.6. */ -+#if __LINUX_KERNEL_VERSION >= 132102 -+#define __ASSUME_NEW_GETRLIMIT_SYSCALL 1 -+#endif -+ -+#include_next <kernel-features.h> diff --git a/recipes/glibc/glibc-2.4/generic-bits_select.h b/recipes/glibc/glibc-2.4/generic-bits_select.h deleted file mode 100644 index 47e7dedc30..0000000000 --- a/recipes/glibc/glibc-2.4/generic-bits_select.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1997, 1998, 2001 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_SELECT_H -# error "Never use <bits/select.h> directly; include <sys/select.h> instead." -#endif - - -/* We don't use `memset' because this would require a prototype and - the array isn't too big. */ -#define __FD_ZERO(s) \ - do { \ - unsigned int __i; \ - fd_set *__arr = (s); \ - for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \ - __FDS_BITS (__arr)[__i] = 0; \ - } while (0) -#define __FD_SET(d, s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d)) -#define __FD_CLR(d, s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d)) -#define __FD_ISSET(d, s) ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0) diff --git a/recipes/glibc/glibc-2.4/generic-bits_time.h b/recipes/glibc/glibc-2.4/generic-bits_time.h deleted file mode 100644 index b3184d1de9..0000000000 --- a/recipes/glibc/glibc-2.4/generic-bits_time.h +++ /dev/null @@ -1,75 +0,0 @@ -/* System-dependent timing definitions. Generic version. - Copyright (C) 1996,1997,1999-2002,2003 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* - * Never include this file directly; use <time.h> instead. - */ - -#ifndef __need_timeval -# ifndef _BITS_TIME_H -# define _BITS_TIME_H 1 - -/* ISO/IEC 9899:1990 7.12.1: <time.h> - The macro `CLOCKS_PER_SEC' is the number per second of the value - returned by the `clock' function. */ -/* CAE XSH, Issue 4, Version 2: <time.h> - The value of CLOCKS_PER_SEC is required to be 1 million on all - XSI-conformant systems. */ -# define CLOCKS_PER_SEC 1000000l - -# if !defined __STRICT_ANSI__ && !defined __USE_XOPEN2K -/* Even though CLOCKS_PER_SEC has such a strange value CLK_TCK - presents the real value for clock ticks per second for the system. */ -# include <bits/types.h> -extern long int __sysconf (int); -# define CLK_TCK ((__clock_t) __sysconf (2)) /* 2 is _SC_CLK_TCK */ -# endif - -# ifdef __USE_POSIX199309 -/* Identifier for system-wide realtime clock. */ -# define CLOCK_REALTIME 0 -/* Monotonic system-wide clock. */ -# define CLOCK_MONOTONIC 1 -/* High-resolution timer from the CPU. */ -# define CLOCK_PROCESS_CPUTIME_ID 2 -/* Thread-specific CPU-time clock. */ -# define CLOCK_THREAD_CPUTIME_ID 3 - -/* Flag to indicate time is absolute. */ -# define TIMER_ABSTIME 1 -# endif - -# endif /* bits/time.h */ -#endif - -#ifdef __need_timeval -# undef __need_timeval -# ifndef _STRUCT_TIMEVAL -# define _STRUCT_TIMEVAL 1 -# include <bits/types.h> - -/* A time value that is accurate to the nearest - microsecond but also has a range of years. */ -struct timeval - { - __time_t tv_sec; /* Seconds. */ - __suseconds_t tv_usec; /* Microseconds. */ - }; -# endif /* struct timeval */ -#endif /* need timeval */ diff --git a/recipes/glibc/glibc-2.4/generic-bits_types.h b/recipes/glibc/glibc-2.4/generic-bits_types.h deleted file mode 100644 index 65c8a9fe90..0000000000 --- a/recipes/glibc/glibc-2.4/generic-bits_types.h +++ /dev/null @@ -1,200 +0,0 @@ -/* bits/types.h -- definitions of __*_t types underlying *_t types. - Copyright (C) 2002, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* - * Never include this file directly; use <sys/types.h> instead. - */ - -#ifndef _BITS_TYPES_H -#define _BITS_TYPES_H 1 - -#include <features.h> -#include <bits/wordsize.h> - -#define __need_size_t -#include <stddef.h> - -/* Convenience types. */ -typedef unsigned char __u_char; -typedef unsigned short int __u_short; -typedef unsigned int __u_int; -typedef unsigned long int __u_long; - -/* Fixed-size types, underlying types depend on word size and compiler. */ -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; -#if __WORDSIZE == 64 -typedef signed long int __int64_t; -typedef unsigned long int __uint64_t; -#elif defined __GLIBC_HAVE_LONG_LONG -__extension__ typedef signed long long int __int64_t; -__extension__ typedef unsigned long long int __uint64_t; -#endif - -/* quad_t is also 64 bits. */ -#if __WORDSIZE == 64 -typedef long int __quad_t; -typedef unsigned long int __u_quad_t; -#elif defined __GLIBC_HAVE_LONG_LONG -__extension__ typedef long long int __quad_t; -__extension__ typedef unsigned long long int __u_quad_t; -#else -typedef struct -{ - long __val[2]; -} __quad_t; -typedef struct -{ - __u_long __val[2]; -} __u_quad_t; -#endif - - -/* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE - macros for each of the OS types we define below. The definitions - of those macros must use the following macros for underlying types. - We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned - variants of each of the following integer types on this machine. - - 16 -- "natural" 16-bit type (always short) - 32 -- "natural" 32-bit type (always int) - 64 -- "natural" 64-bit type (long or long long) - LONG32 -- 32-bit type, traditionally long - QUAD -- 64-bit type, always long long - WORD -- natural type of __WORDSIZE bits (int or long) - LONGWORD -- type of __WORDSIZE bits, traditionally long - - We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the - conventional uses of `long' or `long long' type modifiers match the - types we define, even when a less-adorned type would be the same size. - This matters for (somewhat) portably writing printf/scanf formats for - these types, where using the appropriate l or ll format modifiers can - make the typedefs and the formats match up across all GNU platforms. If - we used `long' when it's 64 bits where `long long' is expected, then the - compiler would warn about the formats not matching the argument types, - and the programmer changing them to shut up the compiler would break the - program's portability. - - Here we assume what is presently the case in all the GCC configurations - we support: long long is always 64 bits, long is always word/address size, - and int is always 32 bits. */ - -#define __S16_TYPE short int -#define __U16_TYPE unsigned short int -#define __S32_TYPE int -#define __U32_TYPE unsigned int -#define __SLONGWORD_TYPE long int -#define __ULONGWORD_TYPE unsigned long int -#if __WORDSIZE == 32 -# define __SQUAD_TYPE __quad_t -# define __UQUAD_TYPE __u_quad_t -# define __SWORD_TYPE int -# define __UWORD_TYPE unsigned int -# define __SLONG32_TYPE long int -# define __ULONG32_TYPE unsigned long int -# define __S64_TYPE __quad_t -# define __U64_TYPE __u_quad_t -/* We want __extension__ before typedef's that use nonstandard base types - such as `long long' in C89 mode. */ -# define __STD_TYPE __extension__ typedef -#elif __WORDSIZE == 64 -# define __SQUAD_TYPE long int -# define __UQUAD_TYPE unsigned long int -# define __SWORD_TYPE long int -# define __UWORD_TYPE unsigned long int -# define __SLONG32_TYPE int -# define __ULONG32_TYPE unsigned int -# define __S64_TYPE long int -# define __U64_TYPE unsigned long int -/* No need to mark the typedef with __extension__. */ -# define __STD_TYPE typedef -#else -# error -#endif -#include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */ - - -__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */ -__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */ -__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */ -__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */ -__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/ -__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */ -__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */ -__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */ -__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */ -__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */ -__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */ -__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */ -__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */ -__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */ -__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */ -__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */ -__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */ -__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */ - -__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */ -__STD_TYPE __SWBLK_T_TYPE __swblk_t; /* Type of a swap block maybe? */ -__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */ - -/* Clock ID used in clock and timer functions. */ -__STD_TYPE __CLOCKID_T_TYPE __clockid_t; - -/* Timer ID returned by `timer_create'. */ -__STD_TYPE __TIMER_T_TYPE __timer_t; - -/* Type to represent block size. */ -__STD_TYPE __BLKSIZE_T_TYPE __blksize_t; - -/* Types from the Large File Support interface. */ - -/* Type to count number of disk blocks. */ -__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t; -__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t; - -/* Type to count file system blocks. */ -__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t; -__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t; - -/* Type to count file system nodes. */ -__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t; -__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t; - -__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */ - -/* These few don't really vary by system, they always correspond - to one of the other defined types. */ -typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */ -typedef __quad_t *__qaddr_t; -typedef char *__caddr_t; - -/* Duplicates info from stdint.h but this is used in unistd.h. */ -__STD_TYPE __SWORD_TYPE __intptr_t; - -/* Duplicate info from sys/socket.h. */ -__STD_TYPE __U32_TYPE __socklen_t; - - -#undef __STD_TYPE - -#endif /* bits/types.h */ diff --git a/recipes/glibc/glibc-2.4/generic-bits_typesizes.h b/recipes/glibc/glibc-2.4/generic-bits_typesizes.h deleted file mode 100644 index e9226c4174..0000000000 --- a/recipes/glibc/glibc-2.4/generic-bits_typesizes.h +++ /dev/null @@ -1,66 +0,0 @@ -/* bits/typesizes.h -- underlying types for *_t. Generic version. - Copyright (C) 2002, 2003 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _BITS_TYPES_H -# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead." -#endif - -#ifndef _BITS_TYPESIZES_H -#define _BITS_TYPESIZES_H 1 - -/* See <bits/types.h> for the meaning of these macros. This file exists so - that <bits/types.h> need not vary across different GNU platforms. */ - -#define __DEV_T_TYPE __UQUAD_TYPE -#define __UID_T_TYPE __U32_TYPE -#define __GID_T_TYPE __U32_TYPE -#define __INO_T_TYPE __ULONGWORD_TYPE -#define __INO64_T_TYPE __UQUAD_TYPE -#define __MODE_T_TYPE __U32_TYPE -#define __NLINK_T_TYPE __UWORD_TYPE -#define __OFF_T_TYPE __SLONGWORD_TYPE -#define __OFF64_T_TYPE __SQUAD_TYPE -#define __PID_T_TYPE __S32_TYPE -#define __RLIM_T_TYPE __ULONGWORD_TYPE -#define __RLIM64_T_TYPE __UQUAD_TYPE -#define __BLKCNT_T_TYPE __SLONGWORD_TYPE -#define __BLKCNT64_T_TYPE __SQUAD_TYPE -#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE -#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE -#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE -#define __FSFILCNT64_T_TYPE __UQUAD_TYPE -#define __ID_T_TYPE __U32_TYPE -#define __CLOCK_T_TYPE __SLONGWORD_TYPE -#define __TIME_T_TYPE __SLONGWORD_TYPE -#define __USECONDS_T_TYPE __U32_TYPE -#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE -#define __DADDR_T_TYPE __S32_TYPE -#define __SWBLK_T_TYPE __SLONGWORD_TYPE -#define __KEY_T_TYPE __S32_TYPE -#define __CLOCKID_T_TYPE __S32_TYPE -#define __TIMER_T_TYPE void * -#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE -#define __FSID_T_TYPE struct { int __val[2]; } -#define __SSIZE_T_TYPE __SWORD_TYPE - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 1024 - - -#endif /* bits/typesizes.h */ diff --git a/recipes/glibc/glibc-2.4/glibc-2.4-compile.patch b/recipes/glibc/glibc-2.4/glibc-2.4-compile.patch deleted file mode 100644 index ea9f55ae7f..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-2.4-compile.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- glibc-2.4/csu/libc-start.c.ark 2006-03-13 03:07:15.000000000 +0100 -+++ glibc-2.4/csu/libc-start.c 2006-03-13 03:08:51.000000000 +0100 -@@ -59,6 +59,11 @@ - # define LIBC_START_MAIN BP_SYM (__libc_start_main) - #endif - -+#ifdef SHARED -+#include <pthread-functions.h> -+extern struct pthread_functions __libc_pthread_functions; -+#endif -+ - #ifdef MAIN_AUXVEC_ARG - /* main gets passed a pointer to the auxiliary. */ - # define MAIN_AUXVEC_DECL , void * ---- glibc-2.4/nscd/Makefile.ark 2006-03-13 14:05:47.000000000 +0100 -+++ glibc-2.4/nscd/Makefile 2006-03-13 14:06:12.000000000 +0100 -@@ -67,8 +67,10 @@ - # contains only the basic kernel interface headers, not something like - # libselinux. So the simplest thing is to presume that the standard - # system headers will be ok for this file. --$(objpfx)nscd_stat.o: sysincludes = # nothing --$(objpfx)selinux.o: sysincludes = # nothing -+# Except, of course, this breaks crosscompiling with kernel headers in -+# a nonstandard location... -+#$(objpfx)nscd_stat.o: sysincludes = # nothing -+#$(objpfx)selinux.o: sysincludes = # nothing - - distribute := nscd.h nscd-client.h dbg_log.h \ - $(addsuffix .c, $(filter-out xmalloc,$(all-nscd-modules))) \ diff --git a/recipes/glibc/glibc-2.4/glibc-2.4-openat-3.patch b/recipes/glibc/glibc-2.4/glibc-2.4-openat-3.patch deleted file mode 100644 index d3f37f6c36..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-2.4-openat-3.patch +++ /dev/null @@ -1,133 +0,0 @@ -Submitted By: Jim Gifford (patches at jg555 dot com) -Date: 2006-08-18 -Initial Package Version: 2.4 -Origin: http://sourceware.org/bugzilla/show_bug.cgi?id=2873 -Upstream Status: Applied -Description: Fixes http://sourceware.org/bugzilla/show_bug.cgi?id=2873 - http://sourceware.org/bugzilla/show_bug.cgi?id=3040 - http://linuxfromscratch.org/pipermail/lfs-dev/2006-June/057562.html - Updated by Joe Ciccone - -diff -Naur glibc-2.4.orig/sysdeps/unix/sysv/linux/i386/fchownat.c glibc-2.4/sysdeps/unix/sysv/linux/i386/fchownat.c ---- glibc-2.4.orig/sysdeps/unix/sysv/linux/i386/fchownat.c 2006-02-23 14:50:21.000000000 -0800 -+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/fchownat.c 2006-08-18 20:38:21.773288795 -0700 -@@ -61,6 +61,24 @@ - int - fchownat (int fd, const char *file, uid_t owner, gid_t group, int flag) - { -+ int result; -+ -+#ifdef __NR_fchownat -+# ifndef __ASSUME_ATFCTS -+ if (__have_atfcts >= 0) -+# endif -+ { -+ result = INLINE_SYSCALL (fchownat, 5, fd, file, owner, group, flag); -+# ifndef __ASSUME_ATFCTS -+ if (result == -1 && errno == ENOSYS) -+ __have_atfcts = -1; -+ else -+# endif -+ return result; -+ } -+#endif -+ -+#ifndef __ASSUME_ATFCTS - if (flag & ~AT_SYMLINK_NOFOLLOW) - { - __set_errno (EINVAL); -@@ -87,14 +105,13 @@ - file = buf; - } - -- int result; - INTERNAL_SYSCALL_DECL (err); - --#if defined __NR_lchown || __ASSUME_LCHOWN_SYSCALL > 0 --# if __ASSUME_LCHOWN_SYSCALL == 0 -+# if defined __NR_lchown || __ASSUME_LCHOWN_SYSCALL > 0 -+# if __ASSUME_LCHOWN_SYSCALL == 0 - static int __libc_old_chown; - --# ifdef __NR_chown32 -+# ifdef __NR_chown32 - if (__libc_missing_32bit_uids <= 0) - { - if (flag & AT_SYMLINK_NOFOLLOW) -@@ -111,7 +128,7 @@ - - __libc_missing_32bit_uids = 1; - } --# endif /* __NR_chown32 */ -+# endif /* __NR_chown32 */ - - if (((owner + 1) > (uid_t) ((__kernel_uid_t) -1U)) - || ((group + 1) > (gid_t) ((__kernel_gid_t) -1U))) -@@ -135,13 +152,13 @@ - - result = INTERNAL_SYSCALL (lchown, err, 3, CHECK_STRING (file), owner, - group); --# elif __ASSUME_32BITUIDS -+# elif __ASSUME_32BITUIDS - /* This implies __ASSUME_LCHOWN_SYSCALL. */ - result = INTERNAL_SYSCALL (chown32, err, 3, CHECK_STRING (file), owner, - group); --# else -+# else - /* !__ASSUME_32BITUIDS && ASSUME_LCHOWN_SYSCALL */ --# ifdef __NR_chown32 -+# ifdef __NR_chown32 - if (__libc_missing_32bit_uids <= 0) - { - result = INTERNAL_SYSCALL (chown32, err, 3, CHECK_STRING (file), owner, -@@ -153,7 +170,7 @@ - - __libc_missing_32bit_uids = 1; - } --# endif /* __NR_chown32 */ -+# endif /* __NR_chown32 */ - if (((owner + 1) > (uid_t) ((__kernel_uid_t) -1U)) - || ((group + 1) > (gid_t) ((__kernel_gid_t) -1U))) - { -@@ -162,10 +179,10 @@ - } - - result = INTERNAL_SYSCALL (chown, err, 3, CHECK_STRING (file), owner, group); --# endif --#else -+# endif -+# else - result = INTERNAL_SYSCALL (chown, err, 3, CHECK_STRING (file), owner, group); --#endif -+# endif - - if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (result, err), 0)) - goto fail; -@@ -175,4 +192,5 @@ - fail: - __atfct_seterrno (INTERNAL_SYSCALL_ERRNO (result, err), fd, buf); - return -1; -+#endif - } -diff -Naur glibc-2.4.orig/sysdeps/unix/sysv/linux/openat.c glibc-2.4/sysdeps/unix/sysv/linux/openat.c ---- glibc-2.4.orig/sysdeps/unix/sysv/linux/openat.c 2006-02-28 21:32:42.000000000 -0800 -+++ glibc-2.4/sysdeps/unix/sysv/linux/openat.c 2006-08-18 20:39:14.360012706 -0700 -@@ -29,8 +29,6 @@ - - - #if !defined OPENAT && !defined __ASSUME_ATFCTS --# define OPENAT openat -- - /* Set errno after a failed call. If BUF is not null, - it is a /proc/self/fd/ path name we just tried to use. */ - void -@@ -63,6 +61,9 @@ - int __have_atfcts; - #endif - -+#ifndef OPENAT -+# define OPENAT openat -+#endif - - #define OPENAT_NOT_CANCEL CONCAT (OPENAT) - #define CONCAT(name) CONCAT2 (name) diff --git a/recipes/glibc/glibc-2.4/glibc-arm-IO-acquire-lock-fix.diff b/recipes/glibc/glibc-2.4/glibc-arm-IO-acquire-lock-fix.diff deleted file mode 100644 index a552cf0d1f..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-arm-IO-acquire-lock-fix.diff +++ /dev/null @@ -1,13 +0,0 @@ -Arm needs a similar fix as http://sourceware.org/ml/libc-ports/2007-12/msg00000.html - ---- /tmp/stdio-lock.h 2008-03-04 18:51:15.555038993 +0100 -+++ glibc-2.7/ports/sysdeps/unix/sysv/linux/arm/bits/stdio-lock.h 2008-03-04 18:51:28.445035052 +0100 -@@ -50,6 +50,8 @@ - _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp)); \ - _IO_flockfile (_fp) - -+# define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp) -+ - # define _IO_release_lock(_fp) \ - _IO_funlockfile (_fp); \ - _IO_cleanup_region_end (0) diff --git a/recipes/glibc/glibc-2.4/glibc-arm-no-asm-page.patch b/recipes/glibc/glibc-2.4/glibc-arm-no-asm-page.patch deleted file mode 100644 index 7eb17179ba..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-arm-no-asm-page.patch +++ /dev/null @@ -1,15 +0,0 @@ -http://sourceware.org/ml/libc-ports/2008-04/msg00005.html - - -Index: glibc-2.6.1/ports/sysdeps/unix/sysv/linux/arm/ioperm.c -=================================================================== ---- glibc-2.6.1.orig/ports/sysdeps/unix/sysv/linux/arm/ioperm.c 2008-09-12 18:08:18.000000000 -0700 -+++ glibc-2.6.1/ports/sysdeps/unix/sysv/linux/arm/ioperm.c 2008-09-12 18:08:28.000000000 -0700 -@@ -45,7 +45,6 @@ - #include <sys/mman.h> - - #include <linux/version.h> --#include <asm/page.h> - #include <sys/sysctl.h> - - #define PATH_ARM_SYSTYPE "/etc/arm_systype" diff --git a/recipes/glibc/glibc-2.4/glibc-check_pf.patch b/recipes/glibc/glibc-2.4/glibc-check_pf.patch deleted file mode 100644 index 3cff6bbcfa..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-check_pf.patch +++ /dev/null @@ -1,343 +0,0 @@ -From libc-ports-return-550-listarch-libc-ports=sources dot redhat dot com at sourceware dot org Tue Oct 31 17:37:21 2006 -Return-Path: <libc-ports-return-550-listarch-libc-ports=sources dot redhat dot com at sourceware dot org> -Delivered-To: listarch-libc-ports at sources dot redhat dot com -Received: (qmail 17273 invoked by alias); 31 Oct 2006 17:37:20 -0000 -Received: (qmail 17262 invoked by uid 22791); 31 Oct 2006 17:37:19 -0000 -X-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,TW_CP -X-Spam-Check-By: sourceware.org -Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Tue, 31 Oct 2006 17:37:11 +0000 -Received: from drow by nevyn.them.org with local (Exim 4.54) id 1GexXw-0007Dj-30; Tue, 31 Oct 2006 12:37:08 -0500 -Date: Tue, 31 Oct 2006 12:37:08 -0500 -From: Daniel Jacobowitz <drow at false dot org> -To: Mike Frysinger <vapier at gentoo dot org> -Cc: libc-ports at sourceware dot org, Philip Balister <philip dot balister at gmail dot com> -Subject: Re: Problem with glibc-2.5 on ARM -Message-ID: <20061031173708.GJ20468@nevyn.them.org> -References: <499146270610241149ibe030e0nd9d6b177a95b346e@mail.gmail.com> <499146270610241254u7cadf63ej2edf05cedbc5266f@mail.gmail.com> <20061024195837.GA20181@nevyn.them.org> <200610291954.27022.vapier@gentoo.org> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline -In-Reply-To: <200610291954 dot 27022 dot vapier at gentoo dot org> -User-Agent: Mutt/1.5.13 (2006-08-11) -X-IsSubscribed: yes -Mailing-List: contact libc-ports-help at sourceware dot org; run by ezmlm -Precedence: bulk -List-Subscribe: <mailto:libc-ports-subscribe at sourceware dot org> -List-Post: <mailto:libc-ports at sourceware dot org> -List-Help: <mailto:libc-ports-help at sourceware dot org>, <http://sourceware dot org/lists dot html#faqs> -Sender: libc-ports-owner at sourceware dot org -Delivered-To: mailing list libc-ports at sourceware dot org - -On Sun, Oct 29, 2006 at 07:54:25PM -0500, Mike Frysinger wrote: -> On Tuesday 24 October 2006 15:58, Daniel Jacobowitz wrote: -> > ARM is going to need a slightly different version of that file, I -> > guess. -> -> would declaring req with attribute packed not help ? -> -mike - -Nope. "struct rtgenmsg" would still have size 4. - -Philip, are you still at all interested in this for the old ABI? -I don't have time to test this patch right now, but I think it -will work. - --- -Daniel Jacobowitz -CodeSourcery - -2006-10-31 Daniel Jacobowitz <dan@codesourcery.com> - - * sysdeps/unix/sysv/linux/arm/check_pf.c: New file. - * sysdeps/unix/sysv/linux/arm/eabi/check_pf.c: New file. - -Index: sysdeps/unix/sysv/linux/arm/check_pf.c -=================================================================== -RCS file: sysdeps/unix/sysv/linux/arm/check_pf.c -diff -N sysdeps/unix/sysv/linux/arm/check_pf.c ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ sysdeps/unix/sysv/linux/arm/check_pf.c 31 Oct 2006 17:29:58 -0000 -@@ -0,0 +1,274 @@ -+/* Determine protocol families for which interfaces exist. ARM Linux version. -+ Copyright (C) 2003, 2006 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 -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include <assert.h> -+#include <errno.h> -+#include <ifaddrs.h> -+#include <netdb.h> -+#include <stddef.h> -+#include <string.h> -+#include <time.h> -+#include <unistd.h> -+#include <sys/socket.h> -+ -+#include <asm/types.h> -+#include <linux/netlink.h> -+#include <linux/rtnetlink.h> -+ -+#include <not-cancel.h> -+#include <kernel-features.h> -+ -+ -+#ifndef IFA_F_TEMPORARY -+# define IFA_F_TEMPORARY IFA_F_SECONDARY -+#endif -+#ifndef IFA_F_HOMEADDRESS -+# define IFA_F_HOMEADDRESS 0 -+#endif -+ -+ -+static int -+make_request (int fd, pid_t pid, bool *seen_ipv4, bool *seen_ipv6, -+ struct in6addrinfo **in6ai, size_t *in6ailen) -+{ -+ struct req -+ { -+ struct nlmsghdr nlh; -+ struct rtgenmsg g; -+ } req; -+ struct sockaddr_nl nladdr; -+ -+ /* struct rtgenmsg consists of a single byte but the ARM ABI rounds -+ it up to a word. Clear the padding explicitly here. */ -+ assert (sizeof (req.g) == 4); -+ memset (&req.g, '\0', sizeof (req.g)); -+ -+ req.nlh.nlmsg_len = sizeof (req); -+ req.nlh.nlmsg_type = RTM_GETADDR; -+ req.nlh.nlmsg_flags = NLM_F_ROOT | NLM_F_MATCH | NLM_F_REQUEST; -+ req.nlh.nlmsg_pid = 0; -+ req.nlh.nlmsg_seq = time (NULL); -+ req.g.rtgen_family = AF_UNSPEC; -+ -+ memset (&nladdr, '\0', sizeof (nladdr)); -+ nladdr.nl_family = AF_NETLINK; -+ -+ if (TEMP_FAILURE_RETRY (__sendto (fd, (void *) &req, sizeof (req), 0, -+ (struct sockaddr *) &nladdr, -+ sizeof (nladdr))) < 0) -+ return -1; -+ -+ *seen_ipv4 = false; -+ *seen_ipv6 = false; -+ -+ bool done = false; -+ char buf[4096]; -+ struct iovec iov = { buf, sizeof (buf) }; -+ struct in6ailist -+ { -+ struct in6addrinfo info; -+ struct in6ailist *next; -+ } *in6ailist = NULL; -+ size_t in6ailistlen = 0; -+ -+ do -+ { -+ struct msghdr msg = -+ { -+ (void *) &nladdr, sizeof (nladdr), -+ &iov, 1, -+ NULL, 0, -+ 0 -+ }; -+ -+ ssize_t read_len = TEMP_FAILURE_RETRY (__recvmsg (fd, &msg, 0)); -+ if (read_len < 0) -+ return -1; -+ -+ if (msg.msg_flags & MSG_TRUNC) -+ return -1; -+ -+ struct nlmsghdr *nlmh; -+ for (nlmh = (struct nlmsghdr *) buf; -+ NLMSG_OK (nlmh, (size_t) read_len); -+ nlmh = (struct nlmsghdr *) NLMSG_NEXT (nlmh, read_len)) -+ { -+ if (nladdr.nl_pid != 0 || (pid_t) nlmh->nlmsg_pid != pid -+ || nlmh->nlmsg_seq != req.nlh.nlmsg_seq) -+ continue; -+ -+ if (nlmh->nlmsg_type == RTM_NEWADDR) -+ { -+ struct ifaddrmsg *ifam = (struct ifaddrmsg *) NLMSG_DATA (nlmh); -+ -+ switch (ifam->ifa_family) -+ { -+ case AF_INET: -+ *seen_ipv4 = true; -+ break; -+ case AF_INET6: -+ *seen_ipv6 = true; -+ -+ if (ifam->ifa_flags & (IFA_F_DEPRECATED -+ | IFA_F_TEMPORARY -+ | IFA_F_HOMEADDRESS)) -+ { -+ struct rtattr *rta = IFA_RTA (ifam); -+ size_t len = (nlmh->nlmsg_len -+ - NLMSG_LENGTH (sizeof (*ifam))); -+ void *local = NULL; -+ void *address = NULL; -+ while (RTA_OK (rta, len)) -+ { -+ switch (rta->rta_type) -+ { -+ case IFA_LOCAL: -+ local = RTA_DATA (rta); -+ break; -+ -+ case IFA_ADDRESS: -+ address = RTA_DATA (rta); -+ break; -+ } -+ -+ rta = RTA_NEXT (rta, len); -+ } -+ -+ struct in6ailist *newp = alloca (sizeof (*newp)); -+ newp->info.flags = (((ifam->ifa_flags & IFA_F_DEPRECATED) -+ ? in6ai_deprecated : 0) -+ | ((ifam->ifa_flags -+ & IFA_F_TEMPORARY) -+ ? in6ai_temporary : 0) -+ | ((ifam->ifa_flags -+ & IFA_F_HOMEADDRESS) -+ ? in6ai_homeaddress : 0)); -+ memcpy (newp->info.addr, address ?: local, -+ sizeof (newp->info.addr)); -+ newp->next = in6ailist; -+ in6ailist = newp; -+ ++in6ailistlen; -+ } -+ break; -+ default: -+ /* Ignore. */ -+ break; -+ } -+ } -+ else if (nlmh->nlmsg_type == NLMSG_DONE) -+ /* We found the end, leave the loop. */ -+ done = true; -+ } -+ } -+ while (! done); -+ -+ close_not_cancel_no_status (fd); -+ -+ if (in6ailist != NULL) -+ { -+ *in6ai = malloc (in6ailistlen * sizeof (**in6ai)); -+ if (*in6ai == NULL) -+ return -1; -+ -+ *in6ailen = in6ailistlen; -+ -+ do -+ { -+ (*in6ai)[--in6ailistlen] = in6ailist->info; -+ in6ailist = in6ailist->next; -+ } -+ while (in6ailist != NULL); -+ } -+ -+ return 0; -+} -+ -+ -+/* We don't know if we have NETLINK support compiled in in our -+ Kernel. */ -+#if __ASSUME_NETLINK_SUPPORT == 0 -+/* Define in ifaddrs.h. */ -+extern int __no_netlink_support attribute_hidden; -+#else -+# define __no_netlink_support 0 -+#endif -+ -+ -+void -+attribute_hidden -+__check_pf (bool *seen_ipv4, bool *seen_ipv6, -+ struct in6addrinfo **in6ai, size_t *in6ailen) -+{ -+ *in6ai = NULL; -+ *in6ailen = 0; -+ -+ if (! __no_netlink_support) -+ { -+ int fd = __socket (PF_NETLINK, SOCK_RAW, NETLINK_ROUTE); -+ -+ struct sockaddr_nl nladdr; -+ memset (&nladdr, '\0', sizeof (nladdr)); -+ nladdr.nl_family = AF_NETLINK; -+ -+ socklen_t addr_len = sizeof (nladdr); -+ -+ if (fd >= 0 -+ && __bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) == 0 -+ && __getsockname (fd, (struct sockaddr *) &nladdr, &addr_len) == 0 -+ && make_request (fd, nladdr.nl_pid, seen_ipv4, seen_ipv6, -+ in6ai, in6ailen) == 0) -+ /* It worked. */ -+ return; -+ -+ if (fd >= 0) -+ __close (fd); -+ -+#if __ASSUME_NETLINK_SUPPORT == 0 -+ /* Remember that there is no netlink support. */ -+ __no_netlink_support = 1; -+#else -+ /* We cannot determine what interfaces are available. Be -+ pessimistic. */ -+ *seen_ipv4 = true; -+ *seen_ipv6 = true; -+#endif -+ } -+ -+#if __ASSUME_NETLINK_SUPPORT == 0 -+ /* No netlink. Get the interface list via getifaddrs. */ -+ struct ifaddrs *ifa = NULL; -+ if (getifaddrs (&ifa) != 0) -+ { -+ /* We cannot determine what interfaces are available. Be -+ pessimistic. */ -+ *seen_ipv4 = true; -+ *seen_ipv6 = true; -+ return; -+ } -+ -+ struct ifaddrs *runp; -+ for (runp = ifa; runp != NULL; runp = runp->ifa_next) -+ if (runp->ifa_addr->sa_family == PF_INET) -+ *seen_ipv4 = true; -+ else if (runp->ifa_addr->sa_family == PF_INET6) -+ *seen_ipv6 = true; -+ -+ (void) freeifaddrs (ifa); -+#endif -+} -Index: sysdeps/unix/sysv/linux/arm/eabi/check_pf.c -=================================================================== -RCS file: sysdeps/unix/sysv/linux/arm/eabi/check_pf.c -diff -N sysdeps/unix/sysv/linux/arm/eabi/check_pf.c ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ sysdeps/unix/sysv/linux/arm/eabi/check_pf.c 31 Oct 2006 17:29:58 -0000 -@@ -0,0 +1 @@ -+#include <sysdeps/unix/sysv/linux/check_pf.c> - diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-force.patch b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-force.patch deleted file mode 100644 index b509b133c7..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-force.patch +++ /dev/null @@ -1,133 +0,0 @@ -diff -urN glibc-2.6.1/ports/sysdeps/arm/eabi/bits/fenv.h glibc-2.6.1/ports/sysdeps/arm/eabi/bits/fenv.h ---- glibc-2.6.1/ports/sysdeps/arm/eabi/bits/fenv.h 2008-04-04 18:32:58.000000000 +1000 -+++ glibc-2.6.1/ports/sysdeps/arm/eabi/bits/fenv.h 2008-04-07 10:40:28.000000000 +1000 -@@ -20,6 +20,8 @@ - # error "Never use <bits/fenv.h> directly; include <fenv.h> instead." - #endif - -+#if 0 -+ - /* Define bits representing exceptions in the VFP FPU status word. */ - enum - { -@@ -55,37 +57,50 @@ - #define FE_TOWARDZERO FE_TOWARDZERO - }; - -+#endif -+ - /* Define bits representing exceptions in the CRUNCH FPU status word. */ - enum - { - FE_CRUNCH_INVALID = (1), - #define FE_CRUNCH_INVALID FE_CRUNCH_INVALID -+#define FE_INVALID FE_CRUNCH_INVALID -+#define FE_DIVBYZERO 0 - FE_CRUNCH_OVERFLOW = (4), - #define FE_CRUNCH_OVERFLOW FE_CRUNCH_OVERFLOW -+#define FE_OVERFLOW FE_CRUNCH_OVERFLOW - FE_CRUNCH_UNDERFLOW = (8), - #define FE_CRUNCH_UNDERFLOW FE_CRUNCH_UNDERFLOW -+#define FE_UNDERFLOW FE_CRUNCH_UNDERFLOW - FE_CRUNCH_INEXACT = (16), - #define FE_CRUNCH_INEXACT FE_CRUNCH_INEXACT -+#define FE_INEXACT FE_CRUNCH_INEXACT - }; - - /* Amount to shift by to convert an exception to a mask bit. */ - #define FE_CRUNCH_EXCEPT_SHIFT 5 -+#define FE_EXCEPT_SHIFT FE_CRUNCH_EXCEPT_SHIFT - - /* All supported exceptions, except DIVBYZERO. */ - #define FE_CRUNCH_ALL_EXCEPT \ - (FE_CRUNCH_INVALID | FE_CRUNCH_OVERFLOW | FE_CRUNCH_UNDERFLOW | FE_CRUNCH_INEXACT) -+#define FE_ALL_EXCEPT FE_CRUNCH_ALL_EXCEPT - - /* CRUNCH supports all of the four defined rounding modes. */ - enum - { - FE_CRUNCH_TONEAREST = 0, - #define FE_CRUNCH_TONEAREST FE_CRUNCH_TONEAREST -+#define FE_TONEAREST FE_CRUNCH_TONEAREST - FE_CRUNCH_TOWARDZERO = 0x400, - #define FE_CRUNCH_TOWARDZERO FE_CRUNCH_TOWARDZERO -+#define FE_TOWARDZERO FE_CRUNCH_TOWARDZERO - FE_CRUNCH_DOWNWARD = 0x800, - #define FE_CRUNCH_DOWNWARD FE_CRUNCH_DOWNWARD -+#define FE_DOWNWARD FE_CRUNCH_DOWNWARD - FE_CRUNCH_UPWARD = 0xc00 - #define FE_CRUNCH_UPWARD FE_CRUNCH_UPWARD -+#define FE_UPWARD FE_CRUNCH_UPWARD - }; - - -diff -urN glibc-2.6.1/ports/sysdeps/arm/eabi/fpu_control.h glibc-2.6.1/ports/sysdeps/arm/eabi/fpu_control.h ---- glibc-2.6.1/ports/sysdeps/arm/eabi/fpu_control.h 2008-04-04 18:32:58.000000000 +1000 -+++ glibc-2.6.1/ports/sysdeps/arm/eabi/fpu_control.h 2008-04-07 11:02:13.000000000 +1000 -@@ -20,6 +20,8 @@ - #ifndef _FPU_CONTROL_H - #define _FPU_CONTROL_H - -+#if 0 -+ - /* masking of interrupts */ - #define _FPU_MASK_IM 0x00000100 /* invalid operation */ - #define _FPU_MASK_ZM 0x00000200 /* divide by zero */ -@@ -45,6 +47,11 @@ - #define _FPU_SETCW(cw) \ - __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw)) - -+#endif -+ - /* CRUNCH SECTION */ - -+/* Type of the control word. */ -+typedef unsigned int fpu_control_t; -+ - /* DSPSC register: (from EP9312 User's Guide) -@@ -69,19 +73,27 @@ - - /* masking of interrupts */ - #define _FPU_CRUNCH_MASK_IM (1 << 5) /* invalid operation */ -+#define _FPU_MASK_IM _FPU_CRUNCH_MASK_IM - #define _FPU_CRUNCH_MASK_ZM 0 /* divide by zero */ -+#define _FPU_MASK_ZM _FPU_CRUNCH_MASK_ZM - #define _FPU_CRUNCH_MASK_OM (1 << 7) /* overflow */ -+#define _FPU_MASK_OM _FPU_CRUNCH_MASK_OM - #define _FPU_CRUNCH_MASK_UM (1 << 8) /* underflow */ -+#define _FPU_MASK_UM _FPU_CRUNCH_MASK_UM - #define _FPU_CRUNCH_MASK_PM (1 << 9) /* inexact */ -+#define _FPU_MASK_PM _FPU_CRUNCH_MASK_PM - #define _FPU_CRUNCH_MASK_DM 0 /* denormalized operation */ -+#undef _FPU_MASK_DM - - /* Some bits in the FPSCR are not yet defined. They must be preserved when - modifying the contents. */ - #define _FPU_CRUNCH_RESERVED 0x03000042 -+#define _FPU_RESERVED _FPU_CRUNCH_RESERVED - #define _FPU_CRUNCH_DEFAULT 0x00b00000 -+#define _FPU_DEFAULT _FPU_CRUNCH_DEFAULT - /* Default + exceptions enabled. */ - #define _FPU_CRUNCH_IEEE (_FPU_CRUNCH_DEFAULT | 0x000003a0) -- -+#define _FPU_IEEE _FPU_CRUNCH_IEEE - - /* Macros for accessing the hardware control word. */ - /* cfmvr64l %1, mvdx0 */ -@@ -103,6 +115,7 @@ - : "=r" (cw), "=r" (__t1), "=r" (__t2) \ - ); \ - }) -+#define _FPU_GETCW(cw) _FPU_CRUNCH_GETCW(cw) - - /* cfmvr64l %1, mvdx0 */ - /* cfmvr64h %2, mvdx0 */ -@@ -123,7 +136,7 @@ - : "=r" (__t1), "=r" (__t2) : "r" (cw) \ - ); \ - }) -- -+#define _FPU_SETCW(cw) _FPU_CRUNCH_SETCW(cw) - - /* Default control word set at startup. */ - extern fpu_control_t __fpu_control; diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-fraiseexcpt.patch b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-fraiseexcpt.patch deleted file mode 100644 index dcee3fad0a..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-fraiseexcpt.patch +++ /dev/null @@ -1,88 +0,0 @@ -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c glibc-2.5/ports/sysdeps/arm/eabi-new/fraiseexcpt.c ---- glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi-new/fraiseexcpt.c 2008-04-14 17:21:09.000000000 +1000 -@@ -25,6 +25,7 @@ - #include <ldsodefs.h> - #include <dl-procinfo.h> - #include <sysdep.h> -+#include <math.h> - - int - feraiseexcept (int excepts) -@@ -105,8 +105,74 @@ - - if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) - { -- /* Unsupported, for now. */ -- return 1; -+ unsigned int dspsc; -+ const float fp_zero = 0.0, fp_one = 1.0, fp_max = FLT_MAX, -+ fp_min = FLT_MIN, fp_1e32 = 1.0e32f, fp_two = 2.0, -+ fp_three = 3.0, fp_inf = HUGE_VALF; -+ -+ /* Raise exceptions represented by EXPECTS. But we must raise only -+ one signal at a time. It is important that if the overflow/underflow -+ exception and the inexact exception are given at the same time, -+ the overflow/underflow exception follows the inexact exception. After -+ each exception we read from the dspsc, to force the exception to be -+ raised immediately. */ -+ -+ /* There are additional complications because this file may be compiled -+ without CRUNCH support enabled, and we also can't assume that the -+ assembler has CRUNCH instructions enabled. To get around this we use the -+ generic coprocessor mnemonics and avoid asking GCC to put float values -+ in CRUNCH registers. */ -+ -+ /* First: invalid exception. */ -+ if (FE_CRUNCH_INVALID & excepts) -+ /* (ZERO * INFINITY) */ -+ __asm__ __volatile__ ( -+ "ldc p4, cr0, %1\n\t" /* cflds mvf0, %1 */ -+ "ldc p4, cr1, %2\n\t" /* cflds mvf1, %2 */ -+ "cdp p4, 1, cr0, cr0, cr1, 0\n\t" /* cfmuls mvf0, mvf0, mvf1 */ -+ "cdp p4, 0, cr0, cr0, cr0, 7\n\t" /* cfmv32sc mvdx0, dspsc */ -+ "mrc p5, 0, %0, cr0, cr0, 0" : "=r" (dspsc) /* cfmvr64l dspsc, mvdx0 */ -+ : "m" (fp_zero), "m" (fp_inf) -+ : "s0", "s1"); -+ -+ /* Next: overflow. */ -+ if (FE_CRUNCH_OVERFLOW & excepts) -+ /* There's no way to raise overflow without also raising inexact. */ -+ __asm__ __volatile__ ( -+ "ldc p4, cr0, %1\n\t" /* cflds mvf0, %1 */ -+ "ldc p4, cr1, %2\n\t" /* cflds mvf1, %2 */ -+ "cdp p4, 3, cr0, cr0, cr1, 4\n\t" /* cfadds mvf0, mvf0, mvf1 */ -+ "cdp p4, 0, cr0, cr0, cr0, 7\n\t" /* cfmv32sc mvdx0, dspsc */ -+ "mrc p5, 0, %0, cr0, cr0, 0" : "=r" (dspsc) /* cfmvr64l dspsc, mvdx0 */ -+ : "m" (fp_max), "m" (fp_1e32) -+ : "s0", "s1"); -+ -+ /* Next: underflow. */ -+ if (FE_CRUNCH_UNDERFLOW & excepts) -+ /* (FLT_MIN * FLT_MIN) */ -+ __asm__ __volatile__ ( -+ "ldc p4, cr0, %1\n\t" /* cflds mvf0, %1 */ -+ "ldc p4, cr1, %2\n\t" /* cflds mvf1, %2 */ -+ "cdp p4, 1, cr0, cr0, cr1, 0\n\t" /* cfmul mvf0, mvf0, mvf1 */ -+ "cdp p4, 0, cr0, cr0, cr0, 7\n\t" /* cfmv32sc mvdx0, dspsc */ -+ "mrc p5, 0, %0, cr0, cr0, 0" : "=r" (dspsc) /* cfmvr64l dspsc, mvdx0 */ -+ : "m" (fp_min), "m" (fp_min) -+ : "s0", "s1"); -+ -+ /* Last: inexact. */ -+ if (FE_CRUNCH_INEXACT & excepts) -+ /* There's no way to raise inexact without also raising overflow. */ -+ __asm__ __volatile__ ( -+ "ldc p4, cr0, %1\n\t" /* cflds mvf0, %1 */ -+ "ldc p4, cr1, %2\n\t" /* cflds mvf1, %2 */ -+ "cdp p4, 3, cr0, cr0, cr1, 4\n\t" /* cfadds mvf0, mvf0, mvf1 */ -+ "cdp p4, 0, cr0, cr0, cr0, 7\n\t" /* cfmv32sc mvdx0, dspsc */ -+ "mrc p5, 0, %0, cr0, cr0, 0" : "=r" (dspsc) /* cfmvr64l dspsc, mvdx0 */ -+ : "m" (fp_max), "m" (fp_1e32) -+ : "s0", "s1"); -+ -+ /* Success. */ -+ return 0; - } - - /* Unsupported, so fail. */ diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch deleted file mode 100644 index cf4ed6060b..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-setjmp_longjmp.patch +++ /dev/null @@ -1,112 +0,0 @@ ---- glibc-2.5/ports/sysdeps/arm/eabi/setjmp.S 2006-09-22 04:39:51.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/setjmp.S 2007-05-24 13:31:20.000000000 +1000 -@@ -74,6 +74,34 @@ - stcl p1, cr15, [r12], #8 - Lno_iwmmxt: - -+ tst a3, #HWCAP_ARM_CRUNCH -+ beq Lno_crunch -+ -+ /* Save the call-preserved crunch registers. */ -+ /* Following instructions are cfstrd cr10, [ip], #8 (etc.) */ -+ /* stcl p4, cr4, [r12], #8 */ -+ /* stcl p4, cr5, [r12], #8 */ -+ /* stcl p4, cr6, [r12], #8 */ -+ /* stcl p4, cr7, [r12], #8 */ -+ stcl p4, cr8, [r12], #8 -+ stcl p4, cr9, [r12], #8 -+ stcl p4, cr10, [r12], #8 -+ stcl p4, cr11, [r12], #8 -+ stcl p4, cr12, [r12], #8 -+ stcl p4, cr13, [r12], #8 -+ stcl p4, cr14, [r12], #8 -+ stcl p4, cr15, [r12], #8 -+ /* Store the floating-point status register. -+ /* Following 6 instructions are FPU_CRUNCH_GETCW (r2) clob (r3, r4) */ -+ /* mrc p5, 0, r3, cr0, cr0, 0 */ -+ /* mrc p5, 0, r4, cr0, cr0, 1 */ -+ /* cdp p4, 0, cr0, cr0, cr0, 7 */ -+ /* mrc p5, 0, r2, cr0, cr0, 0 */ -+ /* mcr p5, 0, r3, cr0, cr0, 0 */ -+ /* mcr p5, 0, r4, cr0, cr0, 1 */ -+ /* str r2, [ip], #4 */ -+Lno_crunch: -+ - /* Make a tail call to __sigjmp_save; it takes the same args. */ - B PLTJMP(C_SYMBOL_NAME(__sigjmp_save)) - ---- glibc-2.5/ports/sysdeps/arm/eabi/__longjmp.S 2006-09-22 04:39:51.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/__longjmp.S 2007-05-24 13:31:23.000000000 +1000 -@@ -76,6 +76,34 @@ - ldcl p1, cr15, [r12], #8 - Lno_iwmmxt: - -+ tst a2, #HWCAP_ARM_CRUNCH -+ beq Lno_crunch -+ -+ /* Restore the call-preserved crunch registers. */ -+ /* Following instructions are cfldrd cr10, [ip], #8 (etc.) */ -+ /* ldcl p4, cr4, [r12], #8 */ -+ /* ldcl p4, cr5, [r12], #8 */ -+ /* ldcl p4, cr6, [r12], #8 */ -+ /* ldcl p4, cr7, [r12], #8 */ -+ ldcl p4, cr8, [r12], #8 -+ ldcl p4, cr9, [r12], #8 -+ ldcl p4, cr10, [r12], #8 -+ ldcl p4, cr11, [r12], #8 -+ ldcl p4, cr12, [r12], #8 -+ ldcl p4, cr13, [r12], #8 -+ ldcl p4, cr14, [r12], #8 -+ ldcl p4, cr15, [r12], #8 -+ /* Restore the floating-point status register. */ -+ ldr r1, [ip], #4 -+ /* Following 6 instructions are FPU_CRUNCH_SETCW (r1) clob (r2, r3). */ -+ /* mrc p5, 0, r2, cr0, cr0, 0 */ -+ /* mrc p5, 0, r3, cr0, cr0, 1 */ -+ /* mcr p5, 0, r1, cr0, cr0, 0 */ -+ /* cdp p4, 1, cr0, cr0, cr0, 7 */ -+ /* mcr p5, 0, r2, cr0, cr0, 0 */ -+ /* mcr p5, 0, r3, cr0, cr0, 1 */ -+Lno_crunch: -+ - DO_RET(lr) - - #ifdef IS_IN_rtld ---- glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/sysdep.h 2006-09-22 04:39:51.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/sysdep.h 2007-05-24 12:59:03.000000000 +1000 -@@ -48,6 +48,7 @@ - #define HWCAP_ARM_EDSP 128 - #define HWCAP_ARM_JAVA 256 - #define HWCAP_ARM_IWMMXT 512 -+#define HWCAP_ARM_CRUNCH 1024 - - #ifdef __ASSEMBLER__ - ---- glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c 2007-07-02 13:20:36.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.c 2007-07-02 13:23:19.000000000 +1000 -@@ -47,12 +47,12 @@ - #if !defined PROCINFO_DECL && defined SHARED - ._dl_arm_cap_flags - #else --PROCINFO_CLASS const char _dl_arm_cap_flags[10][10] -+PROCINFO_CLASS const char _dl_arm_cap_flags[11][10] - #endif - #ifndef PROCINFO_DECL - = { - "swp", "half", "thumb", "26bit", "fast-mult", "fpa", "vfp", "edsp", -- "java", "iwmmxt", -+ "java", "iwmmxt", "crunch", - } - #endif - #if !defined SHARED || defined PROCINFO_DECL ---- glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h 2007-07-02 13:25:23.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h 2007-07-02 13:25:38.000000000 +1000 -@@ -24,7 +24,7 @@ - #include <ldsodefs.h> - #include <sysdep.h> - --#define _DL_HWCAP_COUNT 10 -+#define _DL_HWCAP_COUNT 11 - - /* The kernel provides platform data but it is not interesting. */ - #define _DL_HWCAP_PLATFORM 0 diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-unwind.patch b/recipes/glibc/glibc-2.4/glibc-crunch-eabi-unwind.patch deleted file mode 100644 index d91d4fd356..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-crunch-eabi-unwind.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- glibc-2.7/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind.h 2008-04-04 15:57:19.000000000 +1000 -+++ glibc-2.7/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind.h 2008-04-04 16:00:41.000000000 +1000 -@@ -138,7 +138,8 @@ - _UVRSC_VFP = 1, /* vfp */ - _UVRSC_FPA = 2, /* fpa */ - _UVRSC_WMMXD = 3, /* Intel WMMX data register */ -- _UVRSC_WMMXC = 4 /* Intel WMMX control register */ -+ _UVRSC_WMMXC = 4, /* Intel WMMX control register */ -+ _UVRSC_CRUNCH = 5 /* Maverick crunch register */ - } - _Unwind_VRS_RegClass; - diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-eabi.patch b/recipes/glibc/glibc-2.4/glibc-crunch-eabi.patch deleted file mode 100644 index 8af4baf9d7..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-crunch-eabi.patch +++ /dev/null @@ -1,461 +0,0 @@ -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/bits/fenv.h glibc-2.5/ports/sysdeps/arm/eabi/bits/fenv.h ---- glibc-2.5/ports/sysdeps/arm/eabi/bits/fenv.h 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/bits/fenv.h 2008-04-02 13:35:39.000000000 +1000 -@@ -20,7 +20,7 @@ - # error "Never use <bits/fenv.h> directly; include <fenv.h> instead." - #endif - --/* Define bits representing exceptions in the FPU status word. */ -+/* Define bits representing exceptions in the VFP FPU status word. */ - enum - { - FE_INVALID = 1, -@@ -55,6 +55,40 @@ - #define FE_TOWARDZERO FE_TOWARDZERO - }; - -+/* Define bits representing exceptions in the CRUNCH FPU status word. */ -+enum -+ { -+ FE_CRUNCH_INVALID = (1), -+#define FE_CRUNCH_INVALID FE_CRUNCH_INVALID -+ FE_CRUNCH_OVERFLOW = (4), -+#define FE_CRUNCH_OVERFLOW FE_CRUNCH_OVERFLOW -+ FE_CRUNCH_UNDERFLOW = (8), -+#define FE_CRUNCH_UNDERFLOW FE_CRUNCH_UNDERFLOW -+ FE_CRUNCH_INEXACT = (16), -+#define FE_CRUNCH_INEXACT FE_CRUNCH_INEXACT -+ }; -+ -+/* Amount to shift by to convert an exception to a mask bit. */ -+#define FE_CRUNCH_EXCEPT_SHIFT 5 -+ -+/* All supported exceptions, except DIVBYZERO. */ -+#define FE_CRUNCH_ALL_EXCEPT \ -+ (FE_CRUNCH_INVALID | FE_CRUNCH_OVERFLOW | FE_CRUNCH_UNDERFLOW | FE_CRUNCH_INEXACT) -+ -+/* CRUNCH supports all of the four defined rounding modes. */ -+enum -+ { -+ FE_CRUNCH_TONEAREST = 0, -+#define FE_CRUNCH_TONEAREST FE_CRUNCH_TONEAREST -+ FE_CRUNCH_TOWARDZERO = 0x400, -+#define FE_CRUNCH_TOWARDZERO FE_CRUNCH_TOWARDZERO -+ FE_CRUNCH_DOWNWARD = 0x800, -+#define FE_CRUNCH_DOWNWARD FE_CRUNCH_DOWNWARD -+ FE_CRUNCH_UPWARD = 0xc00 -+#define FE_CRUNCH_UPWARD FE_CRUNCH_UPWARD -+ }; -+ -+ - /* Type representing exception flags. */ - typedef unsigned int fexcept_t; - -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fclrexcpt.c glibc-2.5/ports/sysdeps/arm/eabi/fclrexcpt.c ---- glibc-2.5/ports/sysdeps/arm/eabi/fclrexcpt.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/fclrexcpt.c 2008-04-02 13:25:09.000000000 +1000 -@@ -48,6 +48,26 @@ - return 0; - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ unsigned long int temp; -+ -+ /* Mask out unsupported bits/exceptions. */ -+ excepts &= FE_CRUNCH_ALL_EXCEPT; -+ -+ /* Get the current floating point status. */ -+ _FPU_CRUNCH_GETCW (temp); -+ -+ /* Clear the relevant bits. */ -+ temp = (temp & ~FE_CRUNCH_ALL_EXCEPT) | (temp & FE_CRUNCH_ALL_EXCEPT & ~excepts); -+ -+ /* Put the new data in effect. */ -+ _FPU_CRUNCH_SETCW (temp); -+ -+ /* Success. */ -+ return 0; -+ } -+ - /* Unsupported, so fail. */ - return 1; - } -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fedisblxcpt.c glibc-2.5/ports/sysdeps/arm/eabi/fedisblxcpt.c ---- glibc-2.5/ports/sysdeps/arm/eabi/fedisblxcpt.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/fedisblxcpt.c 2008-04-02 13:29:44.000000000 +1000 -@@ -46,6 +46,23 @@ - return old_exc; - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ unsigned long int new_exc, old_exc; -+ -+ _FPU_CRUNCH_GETCW(new_exc); -+ -+ old_exc = (new_exc >> FE_CRUNCH_EXCEPT_SHIFT) & FE_CRUNCH_ALL_EXCEPT; -+ -+ excepts &= FE_CRUNCH_ALL_EXCEPT; -+ -+ new_exc &= ~(excepts << FE_CRUNCH_EXCEPT_SHIFT); -+ -+ _FPU_CRUNCH_SETCW(new_exc); -+ -+ return old_exc; -+ } -+ - /* Unsupported, so return -1 for failure. */ - return -1; - } -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/feenablxcpt.c glibc-2.5/ports/sysdeps/arm/eabi/feenablxcpt.c ---- glibc-2.5/ports/sysdeps/arm/eabi/feenablxcpt.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/feenablxcpt.c 2008-04-02 13:30:30.000000000 +1000 -@@ -46,6 +46,23 @@ - return old_exc; - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ unsigned long int new_exc, old_exc; -+ -+ _FPU_CRUNCH_GETCW(new_exc); -+ -+ old_exc = (new_exc >> FE_CRUNCH_EXCEPT_SHIFT) & FE_CRUNCH_ALL_EXCEPT; -+ -+ excepts &= FE_CRUNCH_ALL_EXCEPT; -+ -+ new_exc |= (excepts << FE_CRUNCH_EXCEPT_SHIFT); -+ -+ _FPU_CRUNCH_SETCW(new_exc); -+ -+ return old_exc; -+ } -+ - /* Unsupported, so return -1 for failure. */ - return -1; - } -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fegetenv.c glibc-2.5/ports/sysdeps/arm/eabi/fegetenv.c ---- glibc-2.5/ports/sysdeps/arm/eabi/fegetenv.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/fegetenv.c 2008-04-02 13:31:08.000000000 +1000 -@@ -38,6 +38,16 @@ - return 0; - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ unsigned long int temp; -+ _FPU_CRUNCH_GETCW (temp); -+ envp->__cw = temp; -+ -+ /* Success. */ -+ return 0; -+ } -+ - /* Unsupported, so fail. */ - return 1; - } -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fegetexcept.c glibc-2.5/ports/sysdeps/arm/eabi/fegetexcept.c ---- glibc-2.5/ports/sysdeps/arm/eabi/fegetexcept.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/fegetexcept.c 2008-04-02 13:31:40.000000000 +1000 -@@ -38,6 +38,15 @@ - return (temp >> FE_EXCEPT_SHIFT) & FE_ALL_EXCEPT; - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ unsigned long temp; -+ -+ _FPU_CRUNCH_GETCW (temp); -+ -+ return (temp >> FE_CRUNCH_EXCEPT_SHIFT) & FE_CRUNCH_ALL_EXCEPT; -+ } -+ - /* Unsupported. Return all exceptions disabled. */ - return 0; - } -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fegetround.c glibc-2.5/ports/sysdeps/arm/eabi/fegetround.c ---- glibc-2.5/ports/sysdeps/arm/eabi/fegetround.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/fegetround.c 2008-04-02 13:32:18.000000000 +1000 -@@ -38,6 +38,16 @@ - return temp & FE_TOWARDZERO; - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ unsigned int temp; -+ -+ /* Get the current environment. */ -+ _FPU_CRUNCH_GETCW (temp); -+ -+ return temp & FE_CRUNCH_UPWARD; -+ } -+ - /* The current soft-float implementation only handles TONEAREST. */ - return FE_TONEAREST; - } -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/feholdexcpt.c glibc-2.5/ports/sysdeps/arm/eabi/feholdexcpt.c ---- glibc-2.5/ports/sysdeps/arm/eabi/feholdexcpt.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/feholdexcpt.c 2008-04-02 13:36:24.000000000 +1000 -@@ -47,6 +47,25 @@ - return 0; - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ unsigned long int temp; -+ -+ /* Store the environment. */ -+ _FPU_CRUNCH_GETCW(temp); -+ envp->__cw = temp; -+ -+ /* Now set all exceptions to non-stop. */ -+ temp &= ~(FE_CRUNCH_ALL_EXCEPT << FE_CRUNCH_EXCEPT_SHIFT); -+ -+ /* And clear all exception flags. */ -+ temp &= ~FE_CRUNCH_ALL_EXCEPT; -+ -+ _FPU_CRUNCH_SETCW(temp); -+ -+ return 0; -+ } -+ - /* Unsupported, so fail. */ - return 1; - } -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fesetenv.c glibc-2.5/ports/sysdeps/arm/eabi/fesetenv.c ---- glibc-2.5/ports/sysdeps/arm/eabi/fesetenv.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/fesetenv.c 2008-04-02 13:43:31.000000000 +1000 -@@ -48,6 +48,26 @@ - return 0; - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ unsigned int temp; -+ -+ _FPU_CRUNCH_GETCW (temp); -+ temp &= _FPU_CRUNCH_RESERVED; -+ -+ if (envp == FE_DFL_ENV) -+ temp |= _FPU_CRUNCH_DEFAULT; -+ else if (envp == FE_NOMASK_ENV) -+ temp |= _FPU_CRUNCH_IEEE; -+ else -+ temp |= envp->__cw & ~_FPU_CRUNCH_RESERVED; -+ -+ _FPU_CRUNCH_SETCW (temp); -+ -+ /* Success. */ -+ return 0; -+ } -+ - /* Unsupported, so fail. */ - return 1; - } -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fesetround.c glibc-2.5/ports/sysdeps/arm/eabi/fesetround.c ---- glibc-2.5/ports/sysdeps/arm/eabi/fesetround.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/fesetround.c 2008-04-02 13:57:35.000000000 +1000 -@@ -45,6 +45,24 @@ - default: - return 1; - } - } -+ else if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ fpu_control_t temp; -+ -+ switch (round) -+ { -+ case FE_CRUNCH_TONEAREST: -+ case FE_CRUNCH_UPWARD: -+ case FE_CRUNCH_DOWNWARD: -+ case FE_CRUNCH_TOWARDZERO: -+ _FPU_CRUNCH_GETCW (temp); -+ temp = (temp & ~FE_CRUNCH_UPWARD) | round; -+ _FPU_CRUNCH_SETCW (temp); -+ return 0; -+ default: -+ return 1; -+ } -+ } - else if (round == FE_TONEAREST) - /* This is the only supported rounding mode for soft-fp. */ -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fpu_control.h glibc-2.5/ports/sysdeps/arm/eabi/fpu_control.h ---- glibc-2.5/ports/sysdeps/arm/eabi/fpu_control.h 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/fpu_control.h 2008-04-02 13:43:05.000000000 +1000 -@@ -45,6 +45,86 @@ - #define _FPU_SETCW(cw) \ - __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw)) - -+/* CRUNCH SECTION */ -+ -+/* DSPSC register: (from EP9312 User's Guide) -+ * -+ * bits 31..29 - DAID -+ * bits 28..26 - HVID -+ * bits 25..24 - RSVD -+ * bit 23 - ISAT -+ * bit 22 - UI -+ * bit 21 - INT -+ * bit 20 - AEXC -+ * bits 19..18 - SAT -+ * bits 17..16 - FCC -+ * bit 15 - V -+ * bit 14 - FWDEN -+ * bit 13 - Invalid -+ * bit 12 - Denorm -+ * bits 11..10 - RM -+ * bits 9..5 - IXE, UFE, OFE, RSVD, IOE -+ * bits 4..0 - IX, UF, OF, RSVD, IO -+ */ -+ -+/* masking of interrupts */ -+#define _FPU_CRUNCH_MASK_IM (1 << 5) /* invalid operation */ -+#define _FPU_CRUNCH_MASK_ZM 0 /* divide by zero */ -+#define _FPU_CRUNCH_MASK_OM (1 << 7) /* overflow */ -+#define _FPU_CRUNCH_MASK_UM (1 << 8) /* underflow */ -+#define _FPU_CRUNCH_MASK_PM (1 << 9) /* inexact */ -+#define _FPU_CRUNCH_MASK_DM 0 /* denormalized operation */ -+ -+/* Some bits in the FPSCR are not yet defined. They must be preserved when -+ modifying the contents. */ -+#define _FPU_CRUNCH_RESERVED 0x03000042 -+#define _FPU_CRUNCH_DEFAULT 0x00b00000 -+/* Default + exceptions enabled. */ -+#define _FPU_CRUNCH_IEEE (_FPU_CRUNCH_DEFAULT | 0x000003a0) -+ -+ -+/* Macros for accessing the hardware control word. */ -+/* cfmvr64l %1, mvdx0 */ -+/* cfmvr64h %2, mvdx0 */ -+/* cfmv32sc mvdx0, dspsc */ -+/* cfmvr64l %0, mvdx0 */ -+/* cfmv64lr mvdx0, %1 */ -+/* cfmv64hr mvdx0, %2 */ -+#define _FPU_CRUNCH_GETCW(cw) ({ \ -+ register int __t1, __t2; \ -+ \ -+ __asm__ volatile ( \ -+ "mrc p5, 0, %1, cr0, cr0, 0\n\t" \ -+ "mrc p5, 0, %2, cr0, cr0, 1\n\t" \ -+ "cdp p4, 0, cr0, cr0, cr0, 7\n\t" \ -+ "mrc p5, 0, %0, cr0, cr0, 0\n\t" \ -+ "mcr p5, 0, %1, cr0, cr0, 0\n\t" \ -+ "mcr p5, 0, %2, cr0, cr0, 1" \ -+ : "=r" (cw), "=r" (__t1), "=r" (__t2) \ -+ ); \ -+}) -+ -+/* cfmvr64l %1, mvdx0 */ -+/* cfmvr64h %2, mvdx0 */ -+/* cfmv64lr mvdx0, %0 */ -+/* cfmvsc32 dspsc, mvdx0 */ -+/* cfmv64lr mvdx0, %1 */ -+/* cfmv64hr mvdx0, %2 */ -+#define _FPU_CRUNCH_SETCW(cw) ({ \ -+ register int __t1, __t2; \ -+ \ -+ __asm__ volatile ( \ -+ "mrc p5, 0, %0, cr0, cr0, 0\n\t" \ -+ "mrc p5, 0, %1, cr0, cr0, 1\n\t" \ -+ "mcr p5, 0, %2, cr0, cr0, 0\n\t" \ -+ "cdp p4, 1, cr0, cr0, cr0, 7\n\t" \ -+ "mcr p5, 0, %0, cr0, cr0, 0\n\t" \ -+ "mcr p5, 0, %1, cr0, cr0, 1\n\t" \ -+ : "=r" (__t1), "=r" (__t2) : "r" (cw) \ -+ ); \ -+}) -+ -+ - /* Default control word set at startup. */ - extern fpu_control_t __fpu_control; - -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c ---- glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/fraiseexcpt.c 2008-04-07 16:48:09.000000000 +1000 -@@ -103,6 +103,12 @@ - return 0; - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ /* Unsupported, for now. */ -+ return 1; -+ } -+ - /* Unsupported, so fail. */ - return 1; - } -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/fsetexcptflg.c glibc-2.5/ports/sysdeps/arm/eabi/fsetexcptflg.c ---- glibc-2.5/ports/sysdeps/arm/eabi/fsetexcptflg.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/fsetexcptflg.c 2008-04-02 13:49:34.000000000 +1000 -@@ -47,6 +47,24 @@ - return 0; - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ fexcept_t temp; -+ -+ /* Get the current environment. */ -+ _FPU_CRUNCH_GETCW (temp); -+ -+ /* Set the desired exception mask. */ -+ temp &= ~((excepts & FE_CRUNCH_ALL_EXCEPT) << FE_CRUNCH_EXCEPT_SHIFT); -+ temp |= (*flagp & excepts & FE_CRUNCH_ALL_EXCEPT) << FE_CRUNCH_EXCEPT_SHIFT; -+ -+ /* Save state back to the FPU. */ -+ _FPU_CRUNCH_SETCW (temp); -+ -+ /* Success. */ -+ return 0; -+ } -+ - /* Unsupported, so fail. */ - return 1; - } -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/ftestexcept.c glibc-2.5/ports/sysdeps/arm/eabi/ftestexcept.c ---- glibc-2.5/ports/sysdeps/arm/eabi/ftestexcept.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/ftestexcept.c 2008-04-02 13:50:10.000000000 +1000 -@@ -38,6 +38,16 @@ - return temp & excepts & FE_ALL_EXCEPT; - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ fexcept_t temp; -+ -+ /* Get current exceptions. */ -+ _FPU_CRUNCH_GETCW(temp); -+ -+ return temp & excepts & FE_CRUNCH_ALL_EXCEPT; -+ } -+ - /* Unsupported, return 0. */ - return 0; - } -diff -urN glibc-2.5/ports/sysdeps/arm/eabi/setfpucw.c glibc-2.5/ports/sysdeps/arm/eabi/setfpucw.c ---- glibc-2.5/ports/sysdeps/arm/eabi/setfpucw.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/eabi/setfpucw.c 2008-04-02 13:51:28.000000000 +1000 -@@ -43,5 +43,20 @@ - _FPU_SETCW (cw); - } - -+ if (GLRO (dl_hwcap) & HWCAP_ARM_CRUNCH) -+ { -+ fpu_control_t cw; -+ -+ /* Fetch the current control word. */ -+ _FPU_CRUNCH_GETCW (cw); -+ -+ /* Preserve the reserved bits, and set the rest as the user -+ specified (or the default, if the user gave zero). */ -+ cw &= _FPU_CRUNCH_RESERVED; -+ cw |= set & ~_FPU_CRUNCH_RESERVED; -+ -+ _FPU_CRUNCH_SETCW (cw); -+ } -+ - /* Do nothing if a VFP unit isn't present. */ - } diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-endian-bigword-littlebyte.patch b/recipes/glibc/glibc-2.4/glibc-crunch-endian-bigword-littlebyte.patch deleted file mode 100644 index e181e97ca5..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-crunch-endian-bigword-littlebyte.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -urN glibc-2.5/ports/sysdeps/arm/bits/endian.h glibc-2.5/ports/sysdeps/arm/bits/endian.h ---- glibc-2.5/ports/sysdeps/arm/bits/endian.h 2005-06-13 20:11:47.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/bits/endian.h 2007-05-18 08:41:52.000000000 +1000 -@@ -15,5 +15,9 @@ - #ifdef __VFP_FP__ - #define __FLOAT_WORD_ORDER __BYTE_ORDER - #else -+#ifdef __MAVERICK__ -+#define __FLOAT_WORD_ORDER __BIG_ENDIAN -+#else - #define __FLOAT_WORD_ORDER __BIG_ENDIAN - #endif -+#endif -diff -urN glibc-2.5/ports/sysdeps/arm/gccframe.h glibc-2.5/ports/sysdeps/arm/gccframe.h ---- glibc-2.5/ports/sysdeps/arm/gccframe.h 2001-11-16 11:07:20.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/gccframe.h 2007-05-18 08:53:38.000000000 +1000 -@@ -17,6 +17,10 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#ifdef __MAVERICK__ -+#define FIRST_PSEUDO_REGISTER 43 -+#else - #define FIRST_PSEUDO_REGISTER 27 -+#endif - - #include <sysdeps/generic/gccframe.h> -diff -urN glibc-2.5/ports/sysdeps/arm/gmp-mparam.h glibc-2.5/ports/sysdeps/arm/gmp-mparam.h ---- glibc-2.5/ports/sysdeps/arm/gmp-mparam.h 2005-06-13 20:11:47.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/gmp-mparam.h 2007-05-18 08:54:21.000000000 +1000 -@@ -29,6 +29,9 @@ - #if defined(__ARMEB__) - # define IEEE_DOUBLE_MIXED_ENDIAN 0 - # define IEEE_DOUBLE_BIG_ENDIAN 1 -+#elif defined(__MAVERICK__) -+#define IEEE_DOUBLE_MIXED_ENDIAN 0 -+#define IEEE_DOUBLE_BIG_ENDIAN 1 - #elif defined(__VFP_FP__) - # define IEEE_DOUBLE_MIXED_ENDIAN 0 - # define IEEE_DOUBLE_BIG_ENDIAN 0 diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-endian-littleword-littlebyte.patch b/recipes/glibc/glibc-2.4/glibc-crunch-endian-littleword-littlebyte.patch deleted file mode 100644 index e8559d4f67..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-crunch-endian-littleword-littlebyte.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -urN glibc-2.5/ports/sysdeps/arm/bits/endian.h glibc-2.5/ports/sysdeps/arm/bits/endian.h ---- glibc-2.5/ports/sysdeps/arm/bits/endian.h 2005-06-13 20:11:47.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/bits/endian.h 2007-05-18 08:41:52.000000000 +1000 -@@ -15,5 +15,9 @@ - #ifdef __VFP_FP__ - #define __FLOAT_WORD_ORDER __BYTE_ORDER - #else -+#ifdef __MAVERICK__ -+#define __FLOAT_WORD_ORDER __LITTLE_ENDIAN -+#else - #define __FLOAT_WORD_ORDER __BIG_ENDIAN - #endif -+#endif -diff -urN glibc-2.5/ports/sysdeps/arm/gccframe.h glibc-2.5/ports/sysdeps/arm/gccframe.h ---- glibc-2.5/ports/sysdeps/arm/gccframe.h 2001-11-16 11:07:20.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/gccframe.h 2007-05-18 08:53:38.000000000 +1000 -@@ -17,6 +17,10 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#ifdef __MAVERICK__ -+#define FIRST_PSEUDO_REGISTER 43 -+#else - #define FIRST_PSEUDO_REGISTER 27 -+#endif - - #include <sysdeps/generic/gccframe.h> -diff -urN glibc-2.5/ports/sysdeps/arm/gmp-mparam.h glibc-2.5/ports/sysdeps/arm/gmp-mparam.h ---- glibc-2.5/ports/sysdeps/arm/gmp-mparam.h 2005-06-13 20:11:47.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/gmp-mparam.h 2007-05-18 08:54:21.000000000 +1000 -@@ -29,6 +29,9 @@ - #if defined(__ARMEB__) - # define IEEE_DOUBLE_MIXED_ENDIAN 0 - # define IEEE_DOUBLE_BIG_ENDIAN 1 -+#elif defined(__MAVERICK__) -+#define IEEE_DOUBLE_MIXED_ENDIAN 0 -+#define IEEE_DOUBLE_BIG_ENDIAN 0 - #elif defined(__VFP_FP__) - # define IEEE_DOUBLE_MIXED_ENDIAN 0 - # define IEEE_DOUBLE_BIG_ENDIAN 0 diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-oabi.patch b/recipes/glibc/glibc-2.4/glibc-crunch-oabi.patch deleted file mode 100644 index 964abb46d6..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-crunch-oabi.patch +++ /dev/null @@ -1,310 +0,0 @@ -diff -urN glibc-2.5/ports/sysdeps/arm/fpu/bits/fenv.h glibc-2.5/ports/sysdeps/arm/fpu/bits/fenv.h ---- glibc-2.5/ports/sysdeps/arm/fpu/bits/fenv.h 2001-07-06 14:55:48.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/fpu/bits/fenv.h 2007-05-18 08:44:33.000000000 +1000 -@@ -20,6 +20,45 @@ - # error "Never use <bits/fenv.h> directly; include <fenv.h> instead." - #endif - -+#if defined(__MAVERICK__) -+ -+/* Define bits representing exceptions in the FPU status word. */ -+enum -+ { -+ FE_INVALID = 1, -+#define FE_INVALID FE_INVALID -+ FE_OVERFLOW = 4, -+#define FE_OVERFLOW FE_OVERFLOW -+ FE_UNDERFLOW = 8, -+#define FE_UNDERFLOW FE_UNDERFLOW -+ FE_INEXACT = 16, -+#define FE_INEXACT FE_INEXACT -+ }; -+ -+/* Amount to shift by to convert an exception to a mask bit. */ -+#define FE_EXCEPT_SHIFT 5 -+ -+/* All supported exceptions. */ -+#define FE_ALL_EXCEPT \ -+ (FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) -+ -+/* IEEE rounding modes. */ -+enum -+ { -+ FE_TONEAREST = 0, -+#define FE_TONEAREST FE_TONEAREST -+ FE_TOWARDZERO = 0x400, -+#define FE_TOWARDZERO FE_TOWARDZERO -+ FE_DOWNWARD = 0x800, -+#define FE_DOWNWARD FE_DOWNWARD -+ FE_UPWARD = 0xc00, -+#define FE_UPWARD FE_UPWARD -+ }; -+ -+#define FE_ROUND_MASK (FE_UPWARD) -+ -+#else /* FPA */ -+ - /* Define bits representing exceptions in the FPU status word. */ - enum - { -@@ -31,6 +70,7 @@ - #define FE_OVERFLOW FE_OVERFLOW - FE_UNDERFLOW = 8, - #define FE_UNDERFLOW FE_UNDERFLOW -+ - }; - - /* Amount to shift by to convert an exception to a mask bit. */ -@@ -44,6 +84,8 @@ - modes exist, but you have to encode them in the actual instruction. */ - #define FE_TONEAREST 0 - -+#endif /* FPA */ -+ - /* Type representing exception flags. */ - typedef unsigned long int fexcept_t; - -diff -urN glibc-2.5/ports/sysdeps/arm/fpu/bits/setjmp.h glibc-2.5/ports/sysdeps/arm/fpu/bits/setjmp.h ---- glibc-2.5/ports/sysdeps/arm/fpu/bits/setjmp.h 2006-01-10 19:22:16.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/fpu/bits/setjmp.h 2007-05-18 08:45:22.000000000 +1000 -@@ -28,7 +28,11 @@ - #ifndef _ASM - /* Jump buffer contains v1-v6, sl, fp, sp and pc. Other registers are not - saved. */ -+#ifdef __MAVERICK__ -+typedef int __jmp_buf[34]; -+#else - typedef int __jmp_buf[22]; - #endif -+#endif - - #endif -diff -urN glibc-2.5/ports/sysdeps/arm/fpu/fegetround.c glibc-2.5/ports/sysdeps/arm/fpu/fegetround.c ---- glibc-2.5/ports/sysdeps/arm/fpu/fegetround.c 2001-07-06 14:55:48.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/fpu/fegetround.c 2007-05-18 08:47:52.000000000 +1000 -@@ -18,9 +18,21 @@ - 02111-1307 USA. */ - - #include <fenv.h> -+#include <fpu_control.h> - - int - fegetround (void) - { -+#if defined(__MAVERICK__) -+ -+ unsigned long temp; -+ -+ _FPU_GETCW (temp); -+ return temp & FE_ROUND_MASK; -+ -+#else /* FPA */ -+ - return FE_TONEAREST; /* Easy. :-) */ -+ -+#endif - } -diff -urN glibc-2.5/ports/sysdeps/arm/fpu/fesetround.c glibc-2.5/ports/sysdeps/arm/fpu/fesetround.c ---- glibc-2.5/ports/sysdeps/arm/fpu/fesetround.c 2005-10-11 01:29:32.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/fpu/fesetround.c 2007-05-18 08:48:32.000000000 +1000 -@@ -20,10 +20,26 @@ - #include <fenv.h> -+#include <fpu_control.h> - - int - fesetround (int round) - { -+#if defined(__MAVERICK__) -+ unsigned long temp; -+ -+ if (round & ~FE_ROUND_MASK) -+ return 1; -+ -+ _FPU_GETCW (temp); -+ temp = (temp & ~FE_ROUND_MASK) | round; -+ _FPU_SETCW (temp); -+ return 0; -+ -+#else /* FPA */ -+ - /* We only support FE_TONEAREST, so there is no need for any work. */ - return (round == FE_TONEAREST)?0:1; -+ -+#endif - } - - libm_hidden_def (fesetround) -diff -urN glibc-2.5/ports/sysdeps/arm/fpu/fpu_control.h glibc-2.5/ports/sysdeps/arm/fpu/fpu_control.h ---- glibc-2.5/ports/sysdeps/arm/fpu/fpu_control.h 2001-07-06 14:55:48.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/fpu/fpu_control.h 2007-05-18 08:50:28.000000000 +1000 -@@ -20,6 +20,81 @@ - #ifndef _FPU_CONTROL_H - #define _FPU_CONTROL_H - -+#if defined(__MAVERICK__) -+ -+/* DSPSC register: (from EP9312 User's Guide) -+ * -+ * bits 31..29 - DAID -+ * bits 28..26 - HVID -+ * bits 25..24 - RSVD -+ * bit 23 - ISAT -+ * bit 22 - UI -+ * bit 21 - INT -+ * bit 20 - AEXC -+ * bits 19..18 - SAT -+ * bits 17..16 - FCC -+ * bit 15 - V -+ * bit 14 - FWDEN -+ * bit 13 - Invalid -+ * bit 12 - Denorm -+ * bits 11..10 - RM -+ * bits 9..5 - IXE, UFE, OFE, RSVD, IOE -+ * bits 4..0 - IX, UF, OF, RSVD, IO -+ */ -+ -+/* masking of interrupts */ -+#define _FPU_MASK_IM (1 << 5) /* invalid operation */ -+#define _FPU_MASK_ZM 0 /* divide by zero */ -+#define _FPU_MASK_OM (1 << 7) /* overflow */ -+#define _FPU_MASK_UM (1 << 8) /* underflow */ -+#define _FPU_MASK_PM (1 << 9) /* inexact */ -+#define _FPU_MASK_DM 0 /* denormalized operation */ -+ -+#define _FPU_RESERVED 0xfffff000 /* These bits are reserved. */ -+ -+#define _FPU_DEFAULT 0x00b00000 /* Default value. */ -+#define _FPU_IEEE 0x00b003a0 /* Default + exceptions enabled. */ -+ -+/* Type of the control word. */ -+typedef unsigned int fpu_control_t; -+ -+/* Macros for accessing the hardware control word. */ -+#define _FPU_GETCW(cw) ({ \ -+ register int __t1, __t2; \ -+ \ -+ __asm__ volatile ( \ -+ "cfmvr64l %1, mvdx0\n\t" \ -+ "cfmvr64h %2, mvdx0\n\t" \ -+ "cfmv32sc mvdx0, dspsc\n\t" \ -+ "cfmvr64l %0, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %1\n\t" \ -+ "cfmv64hr mvdx0, %2" \ -+ : "=r" (cw), "=r" (__t1), "=r" (__t2) \ -+ ); \ -+}) -+ -+#define _FPU_SETCW(cw) ({ \ -+ register int __t0, __t1, __t2; \ -+ \ -+ __asm__ volatile ( \ -+ "cfmvr64l %1, mvdx0\n\t" \ -+ "cfmvr64h %2, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %0\n\t" \ -+ "cfmvsc32 dspsc, mvdx0\n\t" \ -+ "cfmv64lr mvdx0, %1\n\t" \ -+ "cfmv64hr mvdx0, %2" \ -+ : "=r" (__t0), "=r" (__t1), "=r" (__t2) \ -+ : "0" (cw) \ -+ ); \ -+}) -+ -+/* Default control word set at startup. */ -+extern fpu_control_t __fpu_control; -+ -+#else /* FPA */ -+ -+ -+ - /* We have a slight terminology confusion here. On the ARM, the register - * we're interested in is actually the FPU status word - the FPU control - * word is something different (which is implementation-defined and only -@@ -99,4 +174,6 @@ - /* Default control word set at startup. */ - extern fpu_control_t __fpu_control; - -+#endif /* FPA */ -+ - #endif /* _FPU_CONTROL_H */ -diff -urN glibc-2.5/ports/sysdeps/arm/fpu/__longjmp.S glibc-2.5/ports/sysdeps/arm/fpu/__longjmp.S ---- glibc-2.5/ports/sysdeps/arm/fpu/__longjmp.S 2001-07-06 14:55:48.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/fpu/__longjmp.S 2007-05-18 08:51:36.000000000 +1000 -@@ -30,7 +30,33 @@ - movs r0, r1 /* get the return value in place */ - moveq r0, #1 /* can't let setjmp() return zero! */ - -+#ifdef __MAVERICK__ -+ cfldrd mvd4, [ip], #8 -+ nop -+ cfldrd mvd5, [ip], #8 -+ nop -+ cfldrd mvd6, [ip], #8 -+ nop -+ cfldrd mvd7, [ip], #8 -+ nop -+ cfldrd mvd8, [ip], #8 -+ nop -+ cfldrd mvd9, [ip], #8 -+ nop -+ cfldrd mvd10, [ip], #8 -+ nop -+ cfldrd mvd11, [ip], #8 -+ nop -+ cfldrd mvd12, [ip], #8 -+ nop -+ cfldrd mvd13, [ip], #8 -+ nop -+ cfldrd mvd14, [ip], #8 -+ nop -+ cfldrd mvd15, [ip], #8 -+#else - lfmfd f4, 4, [ip] ! /* load the floating point regs */ -+#endif - - LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc}) - END (__longjmp) -diff -urN glibc-2.5/ports/sysdeps/arm/fpu/setjmp.S glibc-2.5/ports/sysdeps/arm/fpu/setjmp.S ---- glibc-2.5/ports/sysdeps/arm/fpu/setjmp.S 2001-07-06 14:55:48.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/fpu/setjmp.S 2007-05-18 08:53:00.000000000 +1000 -@@ -24,11 +24,41 @@ - - ENTRY (__sigsetjmp) - /* Save registers */ -+#ifdef __MAVERICK__ -+ cfstrd mvd4, [r0], #8 -+ nop -+ cfstrd mvd5, [r0], #8 -+ nop -+ cfstrd mvd6, [r0], #8 -+ nop -+ cfstrd mvd7, [r0], #8 -+ nop -+ cfstrd mvd8, [r0], #8 -+ nop -+ cfstrd mvd9, [r0], #8 -+ nop -+ cfstrd mvd10, [r0], #8 -+ nop -+ cfstrd mvd11, [r0], #8 -+ nop -+ cfstrd mvd12, [r0], #8 -+ nop -+ cfstrd mvd13, [r0], #8 -+ nop -+ cfstrd mvd14, [r0], #8 -+ nop -+ cfstrd mvd15, [r0], #8 -+#else - sfmea f4, 4, [r0]! -+#endif - stmia r0, {v1-v6, sl, fp, sp, lr} - - /* Restore pointer to jmp_buf */ -+#ifdef __MAVERICK__ -+ sub r0, r0, #96 -+#else - sub r0, r0, #48 -+#endif - - /* Make a tail call to __sigjmp_save; it takes the same args. */ - B PLTJMP(C_SYMBOL_NAME(__sigjmp_save)) diff --git a/recipes/glibc/glibc-2.4/glibc-crunch-oabi2.patch b/recipes/glibc/glibc-2.4/glibc-crunch-oabi2.patch deleted file mode 100644 index fe5a05014f..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-crunch-oabi2.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- glibc-2.5/ports/sysdeps/arm/sysdep.h 2007-07-02 13:05:53.000000000 +1000 -+++ glibc-2.5/ports/sysdeps/arm/sysdep.h 2007-07-02 13:06:26.000000000 +1000 -@@ -51,6 +51,7 @@ - - #endif - -+#if 0 // ndef __MAVERICK__ - /* APCS-32 doesn't preserve the condition codes across function call. */ - #ifdef __APCS_32__ - #define LOADREGS(cond, base, reglist...)\ -@@ -74,6 +75,7 @@ - #define DO_RET(_reg) \ - movs pc, _reg - #endif -+#endif - - /* Define an entry point visible from C. */ - #define ENTRY(name) \ diff --git a/recipes/glibc/glibc-2.4/glibc-use-isystem-include-fixed.patch b/recipes/glibc/glibc-2.4/glibc-use-isystem-include-fixed.patch deleted file mode 100644 index d9ed12a0fe..0000000000 --- a/recipes/glibc/glibc-2.4/glibc-use-isystem-include-fixed.patch +++ /dev/null @@ -1,46 +0,0 @@ -http://sourceware.org/ml/libc-alpha/2007-03/msg00017.html - -GCC trunk now has multiple internal headers directories, one -containing the self-contained GCC-provided headers and one containing -the <limits.h> (not self-contained but including libc's <limits.h> or -a fixed version thereof) and the fixed headers; more such directories -may be added in future. - -When glibc uses -nostdinc, it needs to use -isystem options for all -these internal directories. This patch teaches it about the -include-fixed directory (and is harmless with old GCC versions without -that directory). - -2007-03-18 Joseph Myers <joseph@codesourcery.com> - - * configure.in: Also pass -isystem option for GCC's include-fixed - directory. - * configure: Regenerate. - - -Index: glibc-2.6.1/configure -=================================================================== ---- glibc-2.6.1.orig/configure 2008-09-12 16:38:06.000000000 -0700 -+++ glibc-2.6.1/configure 2008-09-12 16:39:22.000000000 -0700 -@@ -4563,7 +4563,7 @@ - # thing on a system that doesn't need fixincludes. (Not presently a problem.) - if test -n "$sysheaders"; then - ccheaders=`$CC -print-file-name=include` -- SYSINCLUDES="-nostdinc -isystem $ccheaders \ -+ SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $ccheaders-fixed \ - -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" - if test -n "$CXX"; then - cxxversion=`$CXX -dumpversion 2>&5` && -Index: glibc-2.6.1/configure.in -=================================================================== ---- glibc-2.6.1.orig/configure.in 2008-09-12 16:38:26.000000000 -0700 -+++ glibc-2.6.1/configure.in 2008-09-12 16:39:01.000000000 -0700 -@@ -912,7 +912,7 @@ - # thing on a system that doesn't need fixincludes. (Not presently a problem.) - if test -n "$sysheaders"; then - ccheaders=`$CC -print-file-name=include` -- SYSINCLUDES="-nostdinc -isystem $ccheaders \ -+ SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $ccheaders-fixed \ - -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" - if test -n "$CXX"; then - cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` && diff --git a/recipes/glibc/glibc-2.4/ldd-unbash.patch b/recipes/glibc/glibc-2.4/ldd-unbash.patch deleted file mode 100644 index 2fb8854b49..0000000000 --- a/recipes/glibc/glibc-2.4/ldd-unbash.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- glibc-2.5/elf/ldd.bash.in.org 2006-04-30 16:06:20.000000000 +0000 -+++ glibc-2.5/elf/ldd.bash.in 2007-03-30 19:18:57.000000000 +0000 -@@ -110,7 +110,7 @@ - # environments where the executed program might not have permissions - # to write to the console/tty. But only bash 3.x supports the pipefail - # option, and we don't bother to handle the case for older bash versions. --if set -o pipefail 2> /dev/null; then -+if false; then - try_trace() { - eval $add_env '"$@"' | cat - } diff --git a/recipes/glibc/glibc-2.4/ldsocache-varrun.patch b/recipes/glibc/glibc-2.4/ldsocache-varrun.patch deleted file mode 100644 index 9994d4f879..0000000000 --- a/recipes/glibc/glibc-2.4/ldsocache-varrun.patch +++ /dev/null @@ -1,18 +0,0 @@ -This patch moves ld.so.cache from /etc to /var/run. This is for devices -where /etc is JFFS2 or CRAMFS but /var is a ramdisk. - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- libc/sysdeps/generic/dl-cache.h~ldsocache-varrun -+++ libc/sysdeps/generic/dl-cache.h -@@ -29,7 +29,7 @@ - #endif - - #ifndef LD_SO_CACHE --# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache" -+# define LD_SO_CACHE "/var/run/ld.so.cache" - #endif - - #ifndef add_system_dir diff --git a/recipes/glibc/glibc-2.4/no-z-defs.patch b/recipes/glibc/glibc-2.4/no-z-defs.patch deleted file mode 100644 index 48c6a41267..0000000000 --- a/recipes/glibc/glibc-2.4/no-z-defs.patch +++ /dev/null @@ -1,9 +0,0 @@ -Create a configparms file which disabled no-z-defs. -This is required to build a working glibs for sh4, -without there will be a lot linker errors during the build. - -diff -duNr libc.orig/configparms libc/configparms ---- libc.orig/configparms 1970-01-01 10:00:00.000000000 +1000 -+++ libc/configparms 2006-02-23 14:08:18.000000000 +1100 -@@ -0,0 +1 @@ -+no-z-defs=yes diff --git a/recipes/glibc/glibc-2.4/nptl-crosscompile.patch b/recipes/glibc/glibc-2.4/nptl-crosscompile.patch deleted file mode 100644 index 18a46ad4f1..0000000000 --- a/recipes/glibc/glibc-2.4/nptl-crosscompile.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- glibc-2.4/nptl/sysdeps/pthread/configure.in.ark 2006-03-12 00:41:40.000000000 +0100 -+++ glibc-2.4/nptl/sysdeps/pthread/configure.in 2006-03-12 00:44:08.000000000 +0100 -@@ -45,5 +45,6 @@ - AC_MSG_ERROR([the compiler must support C cleanup handling]) - fi - else -- AC_MSG_ERROR(forced unwind support is required) -+ AC_MSG_WARN([forced unwind support is required, can't be verified while crosscompiling]) -+ AC_DEFINE(HAVE_FORCED_UNWIND) - fi ---- glibc-2.4/nptl/sysdeps/pthread/configure.ark 2006-03-12 00:42:47.000000000 +0100 -+++ glibc-2.4/nptl/sysdeps/pthread/configure 2006-03-12 00:44:08.000000000 +0100 -@@ -153,7 +153,10 @@ - { (exit 1); exit 1; }; } - fi - else -- { { echo "$as_me:$LINENO: error: forced unwind support is required" >&5 --echo "$as_me: error: forced unwind support is required" >&2;} -- { (exit 1); exit 1; }; } -+ { echo "$as_me:$LINENO: WARNING: forced unwind support is required, can't be verified while crosscompiling" >&5 -+echo "$as_me: WARNING: forced unwind support is required, can't be verified while crosscompiling" >&2;} -+ cat >>confdefs.h <<\_ACEOF -+#define HAVE_FORCED_UNWIND 1 -+_ACEOF -+ - fi diff --git a/recipes/glibc/glibc-2.4/powerpc-sqrt-hack.diff b/recipes/glibc/glibc-2.4/powerpc-sqrt-hack.diff deleted file mode 100644 index 1046efb2a1..0000000000 --- a/recipes/glibc/glibc-2.4/powerpc-sqrt-hack.diff +++ /dev/null @@ -1,25 +0,0 @@ -diff -Nurd ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c ---- ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c 2006-04-14 07:44:30.000000000 +0200 -+++ glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c 2006-12-08 12:53:32.202227000 +0100 -@@ -25,6 +25,9 @@ - #include <sysdep.h> - #include <ldsodefs.h> - -+#define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0) -+ -+ - static const double almost_half = 0.5000000000000001; /* 0.5 + 2^-53 */ - static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; - static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; -diff -Nurd ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c ---- ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c 2006-04-14 07:44:30.000000000 +0200 -+++ glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c 2006-12-08 12:53:36.992227000 +0100 -@@ -25,6 +25,8 @@ - #include <sysdep.h> - #include <ldsodefs.h> - -+#define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0) -+ - static const float almost_half = 0.50000006; /* 0.5 + 2^-24 */ - static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; - static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; diff --git a/recipes/glibc/glibc-2.4/zecke-sane-readelf.patch b/recipes/glibc/glibc-2.4/zecke-sane-readelf.patch deleted file mode 100644 index 2bc87974a1..0000000000 --- a/recipes/glibc/glibc-2.4/zecke-sane-readelf.patch +++ /dev/null @@ -1,243 +0,0 @@ -upstream: http://sources.redhat.com/bugzilla/show_bug.cgi?id=3004 -status: WONTFIX -comment: Use OEs version of the readelf version. There might be no -host system version (e.g. on OSX) or it is not multiarch. - -Index: glibc-2.6.1/configure -=================================================================== ---- glibc-2.6.1.orig/configure 2007-07-31 06:46:12.000000000 -0700 -+++ glibc-2.6.1/configure 2008-09-12 16:38:06.000000000 -0700 -@@ -5478,6 +5478,96 @@ - fi - fi - -+### AC_CHECK_TARGET_TOOL([READELF],[readelf],[readelf],[$PATH]) -+### XXXX copy and pasted -+# Check for readelf -+# Extract the first word of "$target_alias-readelf", so it can be a program name with args. -+set dummy $target_alias-readelf; ac_word=$2 -+{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -+if test "${ac_cv_prog_READELF+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$READELF"; then -+ ac_cv_prog_READELF="$READELF" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_READELF="$target_alias-readelf" -+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+fi -+fi -+READELF=$ac_cv_prog_READELF -+if test -n "$READELF"; then -+ { echo "$as_me:$LINENO: result: $READELF" >&5 -+echo "${ECHO_T}$READELF" >&6; } -+else -+ { echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6; } -+fi -+ -+ -+if test -z "$ac_cv_prog_READELF"; then -+ if test "$build" = "$target"; then -+ ac_ct_READELF=$READELF -+ # Extract the first word of "readelf", so it can be a program name with args. -+set dummy readelf; ac_word=$2 -+{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -+if test "${ac_cv_prog_ac_ct_READELF+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$ac_ct_READELF"; then -+ ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_ac_ct_READELF="readelf" -+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+ test -z "$ac_cv_prog_ac_ct_READELF" && ac_cv_prog_ac_ct_READELF="readelf" -+fi -+fi -+ac_ct_READELF=$ac_cv_prog_ac_ct_READELF -+if test -n "$ac_ct_READELF"; then -+ { echo "$as_me:$LINENO: result: $ac_ct_READELF" >&5 -+echo "${ECHO_T}$ac_ct_READELF" >&6; } -+else -+ { echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6; } -+fi -+ -+ READELF=ac_ct_READELF -+ else -+ READELF="readelf" -+ fi -+else -+ READELF="$ac_cv_prog_READELF" -+fi -+ -+### XXXX copy and pasted -+ - echo "$as_me:$LINENO: checking for .preinit_array/.init_array/.fini_array support" >&5 - echo $ECHO_N "checking for .preinit_array/.init_array/.fini_array support... $ECHO_C" >&6 - if test "${libc_cv_initfini_array+set}" = set; then -@@ -5497,7 +5587,7 @@ - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } - then -- if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then -+ if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then - libc_cv_initfini_array=yes - else - libc_cv_initfini_array=no -@@ -5797,7 +5887,7 @@ - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } - then -- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no -Index: glibc-2.6.1/configure.in -=================================================================== ---- glibc-2.6.1.orig/configure.in 2007-03-20 05:11:23.000000000 -0700 -+++ glibc-2.6.1/configure.in 2008-09-12 16:38:26.000000000 -0700 -@@ -1347,6 +1347,96 @@ - fi - fi - -+### AC_CHECK_TARGET_TOOL([READELF],[readelf],[readelf],[$PATH]) -+### XXXX copy and pasted -+# Check for readelf -+# Extract the first word of "$target_alias-readelf", so it can be a program name with args. -+set dummy $target_alias-readelf; ac_word=$2 -+{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -+if test "${ac_cv_prog_READELF+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$READELF"; then -+ ac_cv_prog_READELF="$READELF" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_READELF="$target_alias-readelf" -+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+fi -+fi -+READELF=$ac_cv_prog_READELF -+if test -n "$READELF"; then -+ { echo "$as_me:$LINENO: result: $READELF" >&5 -+echo "${ECHO_T}$READELF" >&6; } -+else -+ { echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6; } -+fi -+ -+ -+if test -z "$ac_cv_prog_READELF"; then -+ if test "$build" = "$target"; then -+ ac_ct_READELF=$READELF -+ # Extract the first word of "readelf", so it can be a program name with args. -+set dummy readelf; ac_word=$2 -+{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -+if test "${ac_cv_prog_ac_ct_READELF+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ if test -n "$ac_ct_READELF"; then -+ ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_ac_ct_READELF="readelf" -+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+ test -z "$ac_cv_prog_ac_ct_READELF" && ac_cv_prog_ac_ct_READELF="readelf" -+fi -+fi -+ac_ct_READELF=$ac_cv_prog_ac_ct_READELF -+if test -n "$ac_ct_READELF"; then -+ { echo "$as_me:$LINENO: result: $ac_ct_READELF" >&5 -+echo "${ECHO_T}$ac_ct_READELF" >&6; } -+else -+ { echo "$as_me:$LINENO: result: no" >&5 -+echo "${ECHO_T}no" >&6; } -+fi -+ -+ READELF=ac_ct_READELF -+ else -+ READELF="readelf" -+ fi -+else -+ READELF="$ac_cv_prog_READELF" -+fi -+ -+### XXXX copy and pasted -+ - AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support, - libc_cv_initfini_array, [dnl - cat > conftest.c <<EOF -@@ -1358,7 +1448,7 @@ - if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c - -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD]) - then -- if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then -+ if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then - libc_cv_initfini_array=yes - else - libc_cv_initfini_array=no -@@ -1543,7 +1633,7 @@ - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/recipes/glibc/glibc-2.7/all_glibc-i586-chk.patch b/recipes/glibc/glibc-2.7/all_glibc-i586-chk.patch deleted file mode 100644 index 9362bcaf17..0000000000 --- a/recipes/glibc/glibc-2.7/all_glibc-i586-chk.patch +++ /dev/null @@ -1,33 +0,0 @@ -http://bugs.gentoo.org/199479 - -2007-09-13 H.J. Lu <hongjiu.lu@intel.com> - - * sysdeps/i386/i586/memcpy_chk.S: New file. - * sysdeps/i386/i586/mempcpy_chk.S: Likewise. - * sysdeps/i386/i586/memset_chk.S: Likewise. - -Index: glibc/sysdeps/i386/i586/memcpy_chk.S -=================================================================== -RCS file: sysdeps/i386/i586/memcpy_chk.S -diff -N sysdeps/i386/i586/memcpy_chk.S ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ glibc/sysdeps/i386/i586/memcpy_chk.S 13 Nov 2007 01:56:18 -0000 1.1 -@@ -0,0 +1 @@ -+#include <sysdeps/i386/i686/memcpy_chk.S> -Index: glibc/sysdeps/i386/i586/mempcpy_chk.S -=================================================================== -RCS file: sysdeps/i386/i586/mempcpy_chk.S -diff -N sysdeps/i386/i586/mempcpy_chk.S ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ glibc/sysdeps/i386/i586/mempcpy_chk.S 13 Nov 2007 01:56:18 -0000 1.1 -@@ -0,0 +1 @@ -+#include <sysdeps/i386/i686/mempcpy_chk.S> -Index: glibc/sysdeps/i386/i586/memset_chk.S -=================================================================== -RCS file: sysdeps/i386/i586/memset_chk.S -diff -N sysdeps/i386/i586/memset_chk.S ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ glibc/sysdeps/i386/i586/memset_chk.S 13 Nov 2007 01:56:18 -0000 1.1 -@@ -0,0 +1 @@ -+#include <sysdeps/i386/i686/memset_chk.S> - diff --git a/recipes/glibc/glibc-initial_2.3.2+cvs20040726.bb b/recipes/glibc/glibc-initial_2.3.2+cvs20040726.bb deleted file mode 100644 index c7dde2310e..0000000000 --- a/recipes/glibc/glibc-initial_2.3.2+cvs20040726.bb +++ /dev/null @@ -1,4 +0,0 @@ -require glibc_${PV}.bb -require glibc-initial.inc - -DEFAULT_PREFERENCE_sh3 = "-99" diff --git a/recipes/glibc/glibc-initial_2.3.6.bb b/recipes/glibc/glibc-initial_2.3.6.bb deleted file mode 100644 index fa7836ad88..0000000000 --- a/recipes/glibc/glibc-initial_2.3.6.bb +++ /dev/null @@ -1,2 +0,0 @@ -require glibc_${PV}.bb -require glibc-initial.inc diff --git a/recipes/glibc/glibc-initial_2.4.bb b/recipes/glibc/glibc-initial_2.4.bb deleted file mode 100644 index fa7836ad88..0000000000 --- a/recipes/glibc/glibc-initial_2.4.bb +++ /dev/null @@ -1,2 +0,0 @@ -require glibc_${PV}.bb -require glibc-initial.inc diff --git a/recipes/glibc/glibc-initial_2.7.bb b/recipes/glibc/glibc-initial_2.7.bb deleted file mode 100644 index d66297090f..0000000000 --- a/recipes/glibc/glibc-initial_2.7.bb +++ /dev/null @@ -1,6 +0,0 @@ -require glibc_${PV}.bb -require glibc-initial.inc - -do_configure_prepend () { - unset CFLAGS -} diff --git a/recipes/glibc/glibc_2.3.2+cvs20040726.bb b/recipes/glibc/glibc_2.3.2+cvs20040726.bb deleted file mode 100644 index 712ad3f28c..0000000000 --- a/recipes/glibc/glibc_2.3.2+cvs20040726.bb +++ /dev/null @@ -1,78 +0,0 @@ -require glibc.inc - -DEFAULT_PREFERENCE_sh3 = "-99" - -FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs" -PR = "${INC_PR}.0" - -GLIBC_ADDONS ?= "linuxthreads" - -# file://noinfo.patch -# file://ldconfig.patch;striplevel=0 -SRC_URI = "cvs://anoncvs@sources.redhat.com/cvs/glibc;module=libc;date=${@bb.data.getVar('PV', d, 1)[9:]} \ - file://arm-ioperm.patch;striplevel=0 \ - file://makeconfig.patch;striplevel=0 \ - file://ldd.patch;striplevel=0 \ - file://fhs-linux-paths.patch \ - file://arm-no-hwcap.patch;striplevel=0 \ - file://arm-memcpy.patch;striplevel=0 \ - file://arm-longlong.patch;striplevel=0 \ - file://arm-machine-gmon.patch;striplevel=0 \ - file://glibc-fp-byteorder.patch \ - \ - file://etc/ld.so.conf \ - file://generate-supported.mk" - -# seems to fail on tls platforms -SRC_URI_append_arm = " file://dyn-ldconfig.patch;striplevel=0" - -SRC_URI_append_openmn = " file://ldsocache-varrun.patch" - -S = "${WORKDIR}/libc" -B = "${WORKDIR}/build-${TARGET_SYS}" - -RDEPENDS_${PN}-dev = "linux-libc-headers-dev" -RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" - -EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --without-cvs --disable-profile --disable-debug --without-gd \ - --enable-clocale=gnu \ - --enable-add-ons=${GLIBC_ADDONS} \ - --with-headers=${STAGING_INCDIR} \ - ${GLIBC_EXTRA_OECONF}" - -do_configure () { -# override this function to avoid the autoconf/automake/aclocal/autoheader -# calls for now -# don't pass CPPFLAGS into configure, since it upsets the kernel-headers -# version check and doesn't really help with anything - if [ -z "`which rpcgen`" ]; then - echo "rpcgen not found. Install glibc-devel." - exit 1 - fi - (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - CPPFLAGS="" oe_runconf -} - -rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ - yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ - rusers.x spray.x nfs_prot.x rquota.x key_prot.x" - -do_compile () { - # this really is arm specific - touch ${S}/sysdeps/arm/framestate.c - # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging - unset LDFLAGS - base_do_compile - ( - cd ${S}/sunrpc/rpcsvc - for r in ${rpcsvc}; do - h=`echo $r|sed -e's,\.x$,.h,'` - rpcgen -h $r -o $h || oewarn "unable to generate header for $r" - done - ) -} - -require glibc-stage.inc - -require glibc-package.inc diff --git a/recipes/glibc/glibc_2.3.3+cvs20041128.bb b/recipes/glibc/glibc_2.3.3+cvs20041128.bb deleted file mode 100644 index b1e5509e16..0000000000 --- a/recipes/glibc/glibc_2.3.3+cvs20041128.bb +++ /dev/null @@ -1,100 +0,0 @@ -require glibc.inc - -DEFAULT_PREFERENCE_sh3 = "-99" - -FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs" -PR = "${INC_PR}.0" - -GLIBC_ADDONS ?= "linuxthreads" - -DEFAULT_PREFERENCE = "-1" -DEFAULT_PREFERENCE_i686 = "0" -DEFAULT_PREFERENCE_sh3 = "0" -DEFAULT_PREFERENCE_sh4 = "0" - -# -# For now, we will skip building of a gcc package if it is a uclibc one -# and our build is not a uclibc one, and we skip a glibc one if our build -# is a uclibc build. -# -# See the note in gcc/gcc_3.4.0.oe -# - -python __anonymous () { - import bb, re - uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None) - if uc_os: - raise bb.parse.SkipPackage("incompatible with target %s" % - bb.data.getVar('TARGET_OS', d, 1)) -} - -# file://noinfo.patch -# file://ldconfig.patch;striplevel=0 -SRC_URI = "cvs://anoncvs@sources.redhat.com/cvs/glibc;module=libc;date=${@bb.data.getVar('PV', d, 1)[9:]} \ - file://arm-ioperm.patch;striplevel=0 \ - file://ldd.patch;striplevel=0 \ - file://fhs-linux-paths.patch \ - file://arm-no-hwcap.patch;striplevel=0 \ - file://arm-memcpy.patch;striplevel=0 \ - file://arm-longlong.patch;striplevel=0 \ - file://arm-machine-gmon.patch;striplevel=0 \ - \ - file://etc/ld.so.conf \ - file://generate-supported.mk" - -# seems to fail on tls platforms -SRC_URI_append_arm = " file://dyn-ldconfig-20041128.patch" - -SRC_URI_append_openmn = " file://ldsocache-varrun.patch" - -S = "${WORKDIR}/libc" -B = "${WORKDIR}/build-${TARGET_SYS}" - -RDEPENDS_${PN}-dev = "linux-libc-headers-dev" -RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" - -EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --without-cvs --disable-profile --disable-debug --without-gd \ - --enable-clocale=gnu \ - --enable-add-ons=${GLIBC_ADDONS} \ - --with-headers=${STAGING_INCDIR} \ - --without-selinux \ - ${GLIBC_EXTRA_OECONF}" - -EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" - -do_configure () { -# override this function to avoid the autoconf/automake/aclocal/autoheader -# calls for now -# don't pass CPPFLAGS into configure, since it upsets the kernel-headers -# version check and doesn't really help with anything - if [ -z "`which rpcgen`" ]; then - echo "rpcgen not found. Install glibc-devel." - exit 1 - fi - (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - CPPFLAGS="" oe_runconf -} - -rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ - yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ - rusers.x spray.x nfs_prot.x rquota.x key_prot.x" - -do_compile () { - # this really is arm specific - touch ${S}/sysdeps/arm/framestate.c - # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging - unset LDFLAGS - base_do_compile - ( - cd ${S}/sunrpc/rpcsvc - for r in ${rpcsvc}; do - h=`echo $r|sed -e's,\.x$,.h,'` - rpcgen -h $r -o $h || oewarn "unable to generate header for $r" - done - ) -} - -require glibc-stage.inc - -require glibc-package.inc diff --git a/recipes/glibc/glibc_2.3.3+cvs20050221.bb b/recipes/glibc/glibc_2.3.3+cvs20050221.bb deleted file mode 100644 index 3164a57b47..0000000000 --- a/recipes/glibc/glibc_2.3.3+cvs20050221.bb +++ /dev/null @@ -1,83 +0,0 @@ -require glibc.inc - -DEFAULT_PREFERENCE_sh3 = "-99" - -FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs" -PR = "${INC_PR}.0" - -GLIBC_ADDONS ?= "linuxthreads" - -DEFAULT_PREFERENCE = "-1" -DEFAULT_PREFERENCE_i686 = "0" -DEFAULT_PREFERENCE_sh3 = "0" -DEFAULT_PREFERENCE_sh4 = "0" - -# file://noinfo.patch -# file://ldconfig.patch;striplevel=0 -SRC_URI = "cvs://anoncvs@sources.redhat.com/cvs/glibc;module=libc;date=${@bb.data.getVar('PV', d, 1)[9:]} \ - file://arm-ioperm.patch;striplevel=0 \ - file://fhs-linux-paths.patch \ - file://arm-no-hwcap.patch;striplevel=0 \ - file://arm-memcpy.patch;striplevel=0 \ - file://arm-longlong.patch;striplevel=0 \ - file://arm-machine-gmon.patch;striplevel=0 \ - file://trampoline.patch;striplevel=0 \ - file://dl-cache-libcmp.patch \ - \ - file://etc/ld.so.conf \ - file://generate-supported.mk" - -# seems to fail on tls platforms -SRC_URI_append_arm = " file://dyn-ldconfig-20041128.patch" - -SRC_URI_append_openmn = " file://ldsocache-varrun.patch" - -S = "${WORKDIR}/libc" -B = "${WORKDIR}/build-${TARGET_SYS}" - -RDEPENDS_${PN}-dev = "linux-libc-headers-dev" -RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" - -EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --without-cvs --disable-profile --disable-debug --without-gd \ - --enable-clocale=gnu \ - --enable-add-ons=${GLIBC_ADDONS} \ - --with-headers=${STAGING_INCDIR} \ - --without-selinux \ - ${GLIBC_EXTRA_OECONF}" - -do_configure () { -# override this function to avoid the autoconf/automake/aclocal/autoheader -# calls for now -# don't pass CPPFLAGS into configure, since it upsets the kernel-headers -# version check and doesn't really help with anything - if [ -z "`which rpcgen`" ]; then - echo "rpcgen not found. Install glibc-devel." - exit 1 - fi - (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - CPPFLAGS="" oe_runconf -} - -rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ - yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ - rusers.x spray.x nfs_prot.x rquota.x key_prot.x" - -do_compile () { - # this really is arm specific - touch ${S}/sysdeps/arm/framestate.c - # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging - unset LDFLAGS - base_do_compile - ( - cd ${S}/sunrpc/rpcsvc - for r in ${rpcsvc}; do - h=`echo $r|sed -e's,\.x$,.h,'` - rpcgen -h $r -o $h || oewarn "unable to generate header for $r" - done - ) -} - -require glibc-stage.inc - -require glibc-package.inc diff --git a/recipes/glibc/glibc_2.3.3+cvs20050420.bb b/recipes/glibc/glibc_2.3.3+cvs20050420.bb deleted file mode 100644 index 1169d4271e..0000000000 --- a/recipes/glibc/glibc_2.3.3+cvs20050420.bb +++ /dev/null @@ -1,84 +0,0 @@ -require glibc.inc - -DEFAULT_PREFERENCE_i586 = "0" - -DEFAULT_PREFERENCE_sh3 = "-99" - -FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs" -PR = "${INC_PR}.0" - -GLIBC_ADDONS ?= "linuxthreads" - -DEFAULT_PREFERENCE = "-1" - -# file://noinfo.patch -# file://ldconfig.patch;striplevel=0 -SRC_URI = "cvs://anoncvs@sources.redhat.com/cvs/glibc;module=libc;date=${@bb.data.getVar('PV', d, 1)[9:]} \ - file://arm-ioperm.patch;striplevel=0 \ - file://fhs-linux-paths.patch \ - file://arm-no-hwcap.patch;striplevel=0 \ - file://arm-memcpy.patch;striplevel=0 \ - file://arm-longlong.patch;striplevel=0 \ - file://arm-machine-gmon.patch;striplevel=0 \ - file://trampoline.patch;striplevel=0 \ - file://eabi-patch-1;apply=yes \ - file://eabi-patch-2;apply=yes \ - file://eabi-patch-3;apply=yes \ - file://5090_all_stubs-rule-fix.patch \ - file://etc/ld.so.conf \ - file://generate-supported.mk" - -# seems to fail on tls platforms -SRC_URI_append_arm = " file://dyn-ldconfig-20041128.patch" - -SRC_URI_append_openmn = " file://ldsocache-varrun.patch" - -S = "${WORKDIR}/libc" -B = "${WORKDIR}/build-${TARGET_SYS}" - -RDEPENDS_${PN}-dev = "linux-libc-headers-dev" -RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" - -EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --without-cvs --disable-profile --disable-debug --without-gd \ - --enable-clocale=gnu \ - --enable-add-ons=${GLIBC_ADDONS} \ - --with-headers=${STAGING_INCDIR} \ - --without-selinux \ - ${GLIBC_EXTRA_OECONF}" - -do_configure () { -# override this function to avoid the autoconf/automake/aclocal/autoheader -# calls for now -# don't pass CPPFLAGS into configure, since it upsets the kernel-headers -# version check and doesn't really help with anything - if [ -z "`which rpcgen`" ]; then - echo "rpcgen not found. Install glibc-devel." - exit 1 - fi - (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - CPPFLAGS="" oe_runconf -} - -rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ - yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ - rusers.x spray.x nfs_prot.x rquota.x key_prot.x" - -do_compile () { - # this really is arm specific - touch ${S}/sysdeps/arm/framestate.c - # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging - unset LDFLAGS - base_do_compile - ( - cd ${S}/sunrpc/rpcsvc - for r in ${rpcsvc}; do - h=`echo $r|sed -e's,\.x$,.h,'` - rpcgen -h $r -o $h || oewarn "unable to generate header for $r" - done - ) -} - -require glibc-stage.inc - -require glibc-package.inc diff --git a/recipes/glibc/glibc_2.3.6.bb b/recipes/glibc/glibc_2.3.6.bb deleted file mode 100644 index a2b2953222..0000000000 --- a/recipes/glibc/glibc_2.3.6.bb +++ /dev/null @@ -1,118 +0,0 @@ -require glibc.inc - -PR = "${INC_PR}.0" - -GLIBC_ADDONS ?= "linuxthreads" - -# ${CROSSTOOL_PATCH_URL}glibc-2.3.5-cygwin.patch - -CROSSTOOL_PATCH_URL = "http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/" -SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2;name=archive \ - ftp://ftp.gnu.org/pub/gnu/glibc/glibc-linuxthreads-${PV}.tar.bz2;name=linuxthreads \ - ${CROSSTOOL_PATCH_URL}glibc-2.3.5-sh-lowlevellock.patch;name=crosspatch1 \ - ${CROSSTOOL_PATCH_URL}glibc-2.3.5-sh-memset.patch;name=crosspatch2 \ - ${CROSSTOOL_PATCH_URL}glibc-2.3.6-allow-gcc-4.0-arm.patch;name=crosspatch3 \ - ${CROSSTOOL_PATCH_URL}glibc-2.3.6-allow-gcc-4.0-elf.patch;name=crosspatch4 \ - ${CROSSTOOL_PATCH_URL}glibc-2.3.6-configure-apple-as.patch;name=crosspatch5 \ - ${CROSSTOOL_PATCH_URL}glibc-2.3.6-fix-pr631.patch;name=crosspatch6 \ - ${CROSSTOOL_PATCH_URL}glibc-fp-byteorder.patch;name=crosspatch7 \ - ${CROSSTOOL_PATCH_URL}glibc-mips-bootstrap-gcc-header-install.patch;name=crosspatch8 \ - ${CROSSTOOL_PATCH_URL}arm-ctl_bus_isa.patch;name=crosspatch9 \ - ${CROSSTOOL_PATCH_URL}make-install-lib-all.patch;name=crosspatch10 \ - ${CROSSTOOL_PATCH_URL}maybe/glibc-2.3.6-allow-gcc-4.0-powerpc32.patch;name=crosspatch11 \ - file://glibc-2.3.6-bind-already-defined-on-powerpc.patch \ - file://glibc-2.3.6-allow-gcc-4.1-powerpc32-initfini.s.patch \ - file://glibc-2.3.6-linuxthreads-allow-gcc-4.1-powerpc32-initfini.s.patch \ - file://late-install-loop-break.patch \ - file://glibc-arm-socket-weakalias.patch \ - file://glibc-2.3.6-linuxthreads-pthread-raise.patch \ - file://glibc-cross_sunrpc.patch \ - file://etc/ld.so.conf \ - file://generate-supported.mk" - -S = "${WORKDIR}/glibc-${PV}" -B = "${WORKDIR}/build-${TARGET_SYS}" - -RDEPENDS_${PN}-dev = "linux-libc-headers-dev" -RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" - -EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --without-cvs --disable-profile --disable-debug --without-gd \ - --enable-clocale=gnu \ - --enable-add-ons=${GLIBC_ADDONS} \ - --with-headers=${STAGING_INCDIR} \ - ${GLIBC_EXTRA_OECONF}" - -EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" - -glibc_do_unpack () { - mv "${WORKDIR}/linuxthreads" "${WORKDIR}/linuxthreads_db" "${S}/" -} - -python do_unpack () { - bb.build.exec_func('base_do_unpack', d) - bb.build.exec_func('glibc_do_unpack', d) -} - -do_configure () { -# override this function to avoid the autoconf/automake/aclocal/autoheader -# calls for now -# don't pass CPPFLAGS into configure, since it upsets the kernel-headers -# version check and doesn't really help with anything - if [ -z "`which rpcgen`" ]; then - echo "rpcgen not found. Install glibc-devel." - exit 1 - fi - (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - CPPFLAGS="" libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes oe_runconf -} - -rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ - yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ - rusers.x spray.x nfs_prot.x rquota.x key_prot.x" - -do_compile () { - # this really is arm specific - touch ${S}/sysdeps/arm/framestate.c - # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging - unset LDFLAGS - base_do_compile - ( - cd ${S}/sunrpc/rpcsvc - for r in ${rpcsvc}; do - h=`echo $r|sed -e's,\.x$,.h,'` - rpcgen -h $r -o $h || oewarn "unable to generate header for $r" - done - ) -} - -require glibc-stage.inc - -require glibc-package.inc - -SRC_URI[archive.md5sum] = "bfdce99f82d6dbcb64b7f11c05d6bc96" -SRC_URI[archive.sha256sum] = "e73ff5eddea95d09238b41d3c9c4d9ccddcf99fcc93d04956599c91c704f4a8e" -SRC_URI[linuxthreads.md5sum] = "d4eeda37472666a15cc1f407e9c987a9" -SRC_URI[linuxthreads.sha256sum] = "6c3bc4a247d1e5308fb14f81956802f09095d3683219859fcad5795aa3aea638" -SRC_URI[crosspatch1.md5sum] = "bb8da838930b8c6d06bafdbaad5dab1a" -SRC_URI[crosspatch1.sha256sum] = "43cb2a382f30d189f0cacb71cbfa0b153a45a49e5fd73330893d24731fca4eb6" -SRC_URI[crosspatch2.md5sum] = "1acb1e6c444ad45bb1390e7800dc4d7c" -SRC_URI[crosspatch2.sha256sum] = "b301918536819d00b824e134fbdeba3cf4048da060e70e75c8ea56fd92689ad9" -SRC_URI[crosspatch3.md5sum] = "709cb2283068145e557912b0907341a3" -SRC_URI[crosspatch3.sha256sum] = "9dba644da5db0ec5104698706854dcd4ae8d6a10e9419eb049e3d6fcad9d81fe" -SRC_URI[crosspatch4.md5sum] = "79ddbf5e5721442c5753344e4ecdda1c" -SRC_URI[crosspatch4.sha256sum] = "c1ab6923fa4388407cd1dcb2ed441f25c2b9fa18cacf6aad549c31fed3c08f8c" -SRC_URI[crosspatch5.md5sum] = "c4d41a712bf40dfb852e7bc18e1b6c52" -SRC_URI[crosspatch5.sha256sum] = "81611592bf30b4c1fa0c58d170d74c970dbc145127e16cb90d648663e2970cbf" -SRC_URI[crosspatch6.md5sum] = "336ce18c81fe8d7c17d2f7a0dbd62766" -SRC_URI[crosspatch6.sha256sum] = "9487f1d4c05b9c94d94f8bcb34541ef04b77cfc0526dbb0b344c67f2ab388c5b" -SRC_URI[crosspatch7.md5sum] = "c89aac92d100761a767b9d5619fe582f" -SRC_URI[crosspatch7.sha256sum] = "3033d84fd9a62d20a8cb0d42645d7cd5a28d2d108afcb4cc2d89db3dc1e328df" -SRC_URI[crosspatch8.md5sum] = "dc31c9e01df62cba9457af7e9b9c968e" -SRC_URI[crosspatch8.sha256sum] = "a69760ed0ea54b66c31d58cb32c7b23185a6b1d16f38dab8380ec4f2183b122d" -SRC_URI[crosspatch9.md5sum] = "88fa901c9a85633ab62365b0ee9df3b1" -SRC_URI[crosspatch9.sha256sum] = "6651eb15c9f6dabf21af4067b723cb29a87827f66570bfab74fdc00d80cab129" -SRC_URI[crosspatch10.md5sum] = "b94605c3b7ba90bc01648ca6e5cc1aaf" -SRC_URI[crosspatch10.sha256sum] = "16ff3ea972065925338da1a1f37322dc4d8774f6d34d2dde2ce85121c08c99e0" -SRC_URI[crosspatch11.md5sum] = "b89be3e1653ec6df317e30a10a0933b5" -SRC_URI[crosspatch11.sha256sum] = "0b5dd58a5240440ab6dcc0e2278bb99ebb20d0b558578652da59007bf27ae2fe" diff --git a/recipes/glibc/glibc_2.4.bb b/recipes/glibc/glibc_2.4.bb deleted file mode 100644 index cba0fb3492..0000000000 --- a/recipes/glibc/glibc_2.4.bb +++ /dev/null @@ -1,156 +0,0 @@ -require glibc.inc - -PR = "${INC_PR}.0" - -#add the hosts that are confirmed to be working to COMPATIBLE_HOSTi -COMPATIBLE_HOST = '(i.86.*-linux|sh.*-linux)' -DEFAULT_PREFERENCE_arm = "-1" - -# the -isystem in bitbake.conf screws up glibc do_stage -BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" -TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${layout_includedir}" - - -FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-2.4" - -GLIBC_ADDONS ?= "ports,nptl,libidn" - -GLIBC_BROKEN_LOCALES = "sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN" - -# -# For now, we will skip building of a gcc package if it is a uclibc one -# and our build is not a uclibc one, and we skip a glibc one if our build -# is a uclibc build. -# -# See the note in gcc/gcc_3.4.0.oe -# - -python __anonymous () { - import bb, re - uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None) - if uc_os: - raise bb.parse.SkipPackage("incompatible with target %s" % - bb.data.getVar('TARGET_OS', d, 1)) -} - -RDEPENDS_${PN}-dev = "linux-libc-headers-dev" -RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" - -# file://noinfo.patch -# file://ldconfig.patch;striplevel=0 -# file://arm-machine-gmon.patch;striplevel=0 \ -# \ -# file://arm-ioperm.patch;striplevel=0 \ -# file://ldd.patch;striplevel=0 \ -SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.4.tar.bz2;name=archive \ - ftp://ftp.gnu.org/pub/gnu/glibc/glibc-ports-2.4.tar.bz2;name=ports \ - ftp://ftp.gnu.org/pub/gnu/glibc/glibc-libidn-2.4.tar.bz2;name=libidn \ - file://arm-memcpy.patch \ - file://arm-longlong.patch \ - file://fhs-linux-paths.patch \ - file://dl-cache-libcmp.patch \ - file://ldsocache-varrun.patch \ - file://nptl-crosscompile.patch \ - file://glibc-2.4-compile.patch \ - file://glibc-2.4-openat-3.patch \ - file://fixup-aeabi-syscalls.patch \ - file://zecke-sane-readelf.patch \ - file://arm_eabi_ipc_fix.patch \ - file://generic-bits_select.h \ - file://generic-bits_types.h \ - file://generic-bits_typesizes.h \ - file://generic-bits_time.h \ - file://etc/ld.so.conf \ - file://generate-supported.mk" - - -# Build fails on sh3 and sh4 without additional patches -SRC_URI_append_sh3 = " file://no-z-defs.patch" -SRC_URI_append_sh4 = " file://no-z-defs.patch" - -S = "${WORKDIR}/glibc-2.4" -B = "${WORKDIR}/build-${TARGET_SYS}" - -EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --without-cvs --disable-profile --disable-debug --without-gd \ - --enable-clocale=gnu \ - --enable-add-ons=${GLIBC_ADDONS} \ - --with-headers=${STAGING_INCDIR} \ - --without-selinux \ - ${GLIBC_EXTRA_OECONF}" - -EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" - -do_munge() { - # Integrate ports and libidn into tree - mv ${WORKDIR}/glibc-ports-${PV} ${S}/ports - mv ${WORKDIR}/glibc-libidn-${PV} ${S}/libidn - - # Ports isn't really working... Fix it - # Some of this is rather dirty, but it seems to be the only - # quick way to get this cruft to compile - rm -rf ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads - ln -s nptl ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads - cp ${S}/sysdeps/unix/sysv/linux/i386/bits/wchar.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/ - cp ${S}/sysdeps/wordsize-32/bits/wordsize.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/ - cp ${WORKDIR}/generic-bits_select.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/select.h - cp ${WORKDIR}/generic-bits_types.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/types.h - cp ${WORKDIR}/generic-bits_typesizes.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/typesizes.h - cp ${WORKDIR}/generic-bits_time.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/time.h - # Copy in generic stuff for not yet implemented headers - for i in ${S}/bits/*.h; do - F=`basename $i` - [ "$F" = "local_lim.h" ] && continue - [ "$F" = "errno.h" ] && continue - test -e ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/$F || test -e ${S}/ports/sysdeps/arm/bits/$F || test -e ${S}/sysdeps/unix/sysv/linux/bits/$F || test -e ${S}/sysdeps/ieee754/bits/$F || cp $i ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/ - done - # This is harmful; we need to get the one from nptl/sysdeps/pthreads - rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/libc-lock.h - # Obsoleted by sysdeps/arm/{fpu,eabi}/bits/fenv.h - rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/fenv.h - # Obsoleted by sysdeps/gnu/bits/utmp.h - rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/utmp.h -} - -addtask munge before do_patch after do_unpack - -do_configure () { -# override this function to avoid the autoconf/automake/aclocal/autoheader -# calls for now -# don't pass CPPFLAGS into configure, since it upsets the kernel-headers -# version check and doesn't really help with anything - if [ -z "`which rpcgen`" ]; then - echo "rpcgen not found. Install glibc-devel." - exit 1 - fi - (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - CPPFLAGS="" oe_runconf -} - -rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ - yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ - rusers.x spray.x nfs_prot.x rquota.x key_prot.x" - -do_compile () { - # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging - unset LDFLAGS - base_do_compile - ( - cd ${S}/sunrpc/rpcsvc - for r in ${rpcsvc}; do - h=`echo $r|sed -e's,\.x$,.h,'` - rpcgen -h $r -o $h || oewarn "unable to generate header for $r" - done - ) -} - -require glibc-stage.inc - -require glibc-package.inc - -SRC_URI[archive.md5sum] = "7e9a88dcd41fbc53801dbe5bdacaf245" -SRC_URI[archive.sha256sum] = "27aaaaa78b4ab5da76bb29385dc9be087ba7b855a9102eaaa78ce3ec5e2e7fcd" -SRC_URI[ports.md5sum] = "7bb1b35654e94994925e66676acabd4e" -SRC_URI[ports.sha256sum] = "2fbbcaad8a9f8560485c398a9066959fe2713c8bc7e653ec476fb56fed21d19a" -SRC_URI[libidn.md5sum] = "e2d892b40d654c523ab26a26b7dd86a1" -SRC_URI[libidn.sha256sum] = "2f29ec2b2b2f75f787a1eed8fdea20aff212dc3bad97651ca376914c49181977" diff --git a/recipes/glibc/glibc_2.7.bb b/recipes/glibc/glibc_2.7.bb deleted file mode 100644 index 2f2fc364eb..0000000000 --- a/recipes/glibc/glibc_2.7.bb +++ /dev/null @@ -1,169 +0,0 @@ -require glibc.inc - -ARM_INSTRUCTION_SET = "arm" - -PACKAGES_DYNAMIC = "libc6*" -RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev" - -PR = "${INC_PR}.1" - -# the -isystem in bitbake.conf screws up glibc do_stage -BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" -TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${layout_includedir}" - - -FILESPATHPKG =. "glibc-2.4:" - -GLIBC_ADDONS ?= "ports,nptl,libidn" - -GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN" - -# -# For now, we will skip building of a gcc package if it is a uclibc one -# and our build is not a uclibc one, and we skip a glibc one if our build -# is a uclibc build. -# -# See the note in gcc/gcc_3.4.0.oe -# - -python __anonymous () { - import bb, re - uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None) - if uc_os: - raise bb.parse.SkipPackage("incompatible with target %s" % - bb.data.getVar('TARGET_OS', d, 1)) -} - -RDEPENDS_${PN}-dev = "linux-libc-headers-dev" - -# file://noinfo.patch -# file://ldconfig.patch;striplevel=0 -# file://arm-machine-gmon.patch;striplevel=0 \ -# \ -# file://arm-ioperm.patch;striplevel=0 \ -# file://ldd.patch;striplevel=0 \ -SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2;name=archive \ - ftp://ftp.gnu.org/pub/gnu/glibc/glibc-ports-${PV}.tar.bz2;name=ports \ - ftp://ftp.gnu.org/pub/gnu/glibc/glibc-libidn-${PV}.tar.bz2;name=libidn \ - file://arm-memcpy.patch \ - file://arm-longlong.patch \ - file://fhs-linux-paths.patch \ - file://dl-cache-libcmp.patch \ - file://ldsocache-varrun.patch \ - file://nptl-crosscompile.patch \ - file://glibc-check_pf.patch;striplevel=0 \ -# file://glibc-2.4-compile.patch \ -# file://glibc-2.4-openat-3.patch \ -# file://fixup-aeabi-syscalls.patch \ -# file://zecke-sane-readelf.patch \ - file://ldd-unbash.patch \ - file://glibc-arm-IO-acquire-lock-fix.diff \ - file://all_glibc-i586-chk.patch \ - file://glibc-2.6.1-use-short-for-fnstsw.patch \ - file://glibc-use-isystem-include-fixed.patch \ - file://generic-bits_select.h \ - file://generic-bits_types.h \ - file://generic-bits_typesizes.h \ - file://generic-bits_time.h \ - file://etc/ld.so.conf \ - file://generate-supported.mk \ - file://march-i686.patch;striplevel=0 \ - file://glibc-arm-no-asm-page.patch \ - " - - -# Build fails on sh3 and sh4 without additional patches -SRC_URI_append_sh3 = " file://no-z-defs.patch" -SRC_URI_append_sh4 = " file://no-z-defs.patch" - -#powerpc patches to add support for soft-float -SRC_URI_append_powerpc= " file://powerpc-sqrt-hack.diff" - -S = "${WORKDIR}/glibc-${PV}" -B = "${WORKDIR}/build-${TARGET_SYS}" - -EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --without-cvs --disable-profile --disable-debug --without-gd \ - --enable-clocale=gnu \ - --enable-add-ons=${GLIBC_ADDONS} \ - --with-headers=${STAGING_INCDIR} \ - --without-selinux \ - ${GLIBC_EXTRA_OECONF}" - -EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}" - -do_munge() { - # Integrate ports and libidn into tree - mv ${WORKDIR}/glibc-ports-${PV} ${S}/ports - mv ${WORKDIR}/glibc-libidn-${PV} ${S}/libidn - - # Ports isn't really working... Fix it - # Some of this is rather dirty, but it seems to be the only - # quick way to get this cruft to compile - rm -rf ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads - ln -s nptl ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads - cp ${S}/nptl/sysdeps/pthread/bits/sigthread.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/ - cp ${S}/sysdeps/unix/sysv/linux/i386/bits/wchar.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/ - cp ${S}/sysdeps/wordsize-32/bits/wordsize.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/ - cp ${WORKDIR}/generic-bits_select.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/select.h - cp ${WORKDIR}/generic-bits_types.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/types.h - cp ${WORKDIR}/generic-bits_typesizes.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/typesizes.h - cp ${WORKDIR}/generic-bits_time.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/time.h - # Copy in generic stuff for not yet implemented headers - for i in ${S}/bits/*.h; do - F=`basename $i` - [ "$F" = "local_lim.h" ] && continue - [ "$F" = "errno.h" ] && continue - test -e ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/$F || test -e ${S}/ports/sysdeps/arm/bits/$F || test -e ${S}/sysdeps/unix/sysv/linux/bits/$F || test -e ${S}/sysdeps/ieee754/bits/$F || cp $i ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/ - done - # This is harmful; we need to get the one from nptl/sysdeps/pthreads - rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/libc-lock.h - # Obsoleted by sysdeps/arm/{fpu,eabi}/bits/fenv.h - rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/fenv.h - # Obsoleted by sysdeps/gnu/bits/utmp.h - rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/utmp.h -} - -addtask munge before do_patch after do_unpack - - -do_configure () { -# override this function to avoid the autoconf/automake/aclocal/autoheader -# calls for now -# don't pass CPPFLAGS into configure, since it upsets the kernel-headers -# version check and doesn't really help with anything - if [ -z "`which rpcgen`" ]; then - echo "rpcgen not found. Install glibc-devel." - exit 1 - fi - (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - CPPFLAGS="" oe_runconf -} - -rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ - yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ - rusers.x spray.x nfs_prot.x rquota.x key_prot.x" - -do_compile () { - # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging - unset LDFLAGS - base_do_compile - ( - cd ${S}/sunrpc/rpcsvc - for r in ${rpcsvc}; do - h=`echo $r|sed -e's,\.x$,.h,'` - rpcgen -h $r -o $h || oewarn "unable to generate header for $r" - done - ) -} - -require glibc-stage.inc - -require glibc-package.inc - -SRC_URI[archive.md5sum] = "065c5952b439deba40083ccd67bcc8f7" -SRC_URI[archive.sha256sum] = "4224a522ac4ee0fd89eb337e7505e280dfb05e2fe1ad44339ba8874081c0451a" -SRC_URI[ports.md5sum] = "eaeb8527b8fa286c2d887157214f9998" -SRC_URI[ports.sha256sum] = "3e481996259af87c3581da23481970a27de679e3c87cfa9a5a59751cd20c7b44" -SRC_URI[libidn.md5sum] = "226809992fb1f3dc6ea23e0f26952ea4" -SRC_URI[libidn.sha256sum] = "07de78810a5320d696792b67131c4cf3d6654aee015a6b74820d66fb00799000" |