Browse Source

Clifford Wolf:


			
			
				rocklinux
			
			
		
Clifford Wolf 20 years ago
parent
commit
48904e3a79
13 changed files with 53 additions and 560 deletions
  1. +2
    -0
      package/base/glibc/config-400.in
  2. +30
    -11
      package/base/glibc/glibc.conf
  3. +3
    -3
      package/base/glibc/glibc.desc
  4. +0
    -110
      package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-arm.patch
  5. +0
    -54
      package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-elf.patch
  6. +0
    -42
      package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-iconvdata.patch
  7. +0
    -48
      package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-powerpc-procfs.patch
  8. +0
    -41
      package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch
  9. +0
    -60
      package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch
  10. +0
    -71
      package/base/glibc/glibc23/glibc-2.3.5-allow-gcc4-string.patch
  11. +0
    -105
      package/base/glibc/glibc23/glibc-2.3.5-allow-gcc4-symbols.patch
  12. +6
    -4
      package/base/glibc/glibc23/initfini-ccwrapper.patch
  13. +12
    -11
      package/base/glibc/glibc23/initfini-ccwrapper.patch-linuxthreads

+ 2
- 0
package/base/glibc/config-400.in

@ -43,6 +43,8 @@ then
pkgfork glibc glibc22
pkgremove glibc
else
bool 'Use old-style linuxthreads instead of NPTL' \
ROCKCFG_PKG_GLIBC23_LINUXTHREADS 0
pkgfork glibc glibc23
pkgremove glibc
fi

+ 30
- 11
package/base/glibc/glibc.conf

@ -41,6 +41,8 @@ case "$xpkg" in
;;
esac
pkg_glibc_linuxthreads=1
[ "$ROCKCFG_PKG_GLIBC23_LINUXTHREADS" = "0" ] && pkg_glibc_linuxthreads=0
#---------------------------------
if [ $pkg_glibc_version = 22 ]; then
@ -137,13 +139,21 @@ glibc_custmain() {
# Let's use an 'objdir' directory for building glibc
mkdir -p objdir; cd objdir
# NPTL doesn't work with plain i386 CPUs
if [ $pkg_glibc_linuxthreads = 1 ]; then
temp_arch_target="$arch_target"
else
temp_arch_target="${arch_target/i386/i486}"
fi
# Disable glibc internal debuging but build debuging and profile
# code so we can use this glibc to debug other programs.
create_config_cache >> config.cache
CFLAGS="$CFLAGS -g -DNDEBUG=1" ../configure --prefix=$root/$prefix \
--with-gnu-binutils --enable-add-ons"$ADDONS" $G_PROFILE \
--with-headers=$root/$prefix/include --with-gd=/$prefix \
--with-gd-lib=/$prefix/lib --with-gd-include=/$prefix/include \
--without-tls --build=${arch_build} --host=${arch_target}
--cache-file=config.cache --build=${arch_build} --host=${temp_arch_target}
eval $MAKE prefix=/usr slibdir=/lib sysconfdir=/etc all
if [ -z "$pkg_glibc_cross" ]
@ -164,18 +174,20 @@ glibc_custmain() {
eval $MAKE localedata/install-locales
cp ../localedata/SUPPORTED $root/usr/share/i18n/
mkdir -p $root/usr/share/man/man3
if [ -f /usr/bin/perl ] ; then
if [ -f /usr/bin/perl -a $pkg_glibc_linuxthreads = 1 ] ; then
eval $MAKE -C ../linuxthreads/man \
MANDIR=$root/usr/share/man/man3 all install
fi
# copy linuxthreads and crypt documentation
#
cp ../linuxthreads/ChangeLog $docdir/ChangeLog.threads
cp ../linuxthreads/Changes $docdir/Changes.threads
cp ../linuxthreads/README $docdir/README.threads
cp ../linuxthreads/FAQ.html $docdir/FAQ-threads.html
cp -r ../linuxthreads/Examples $docdir/examples.threads
if [ $pkg_glibc_linuxthreads = 1 ]; then
cp ../linuxthreads/ChangeLog $docdir/ChangeLog.threads
cp ../linuxthreads/Changes $docdir/Changes.threads
cp ../linuxthreads/README $docdir/README.threads
cp ../linuxthreads/FAQ.html $docdir/FAQ-threads.html
cp -r ../linuxthreads/Examples $docdir/examples.threads
fi
cp ../crypt/README.ufc-crypt $docdir/README.crypt
# NSCD Init script and config
@ -231,7 +243,7 @@ fi
glibc_prepatch() {
if [ -f $archdir/*linuxthreads*.tar.bz2 ]; then
if [ $pkg_glibc_linuxthreads = 1 -a -f $archdir/*linuxthreads*.tar.bz2 ]; then
tar $taropt $archdir/*linuxthreads*.tar.bz2
fi
}
@ -295,6 +307,10 @@ glibc_stage0() {
patchfiles="`ls $confdir/glibc$pkg_glibc_version/*.patch \
$confdir/glibc$pkg_glibc_version/*.patch.$arch 2>/dev/null | tr '\n' ' '` $patchfiles"
if [ $pkg_glibc_linuxthreads = 1 ]; then
patchfiles="`ls $confdir/glibc$pkg_glibc_version/*.patch-linuxthreads | tr '\n' ' '` $patchfiles"
fi
if [ $stagelevel -le 1 ]; then
patchfiles="`ls $patchfiles $confdir/glibc$pkg_glibc_version/*.patch.cross \
$confdir/glibc$pkg_glibc_version/*.patch.cross.$arch 2>/dev/null | tr '\n' ' '`"
@ -305,9 +321,12 @@ if [ $pkg_glibc_version = 22 ] ; then
# auto-detect for the old glibc
ADDONS=""
else
# prevent the utilisation of nptl (...) - and enable it later
# if a 2.5/6 kernel is used
ADDONS="=linuxthreads"
# new glibc is using NPTL per default, set to linuxthreads if needed
if [ $pkg_glibc_linuxthreads = 1 ]; then
ADDONS="=linuxthreads"
else
ADDONS=""
fi
fi

+ 3
- 3
package/base/glibc/glibc.desc

@ -50,9 +50,9 @@
#endif
#if xpkg == glibc23.*
[V] 2.3.5
[D] 741938744 glibc-2.3.5.tar.bz2 ftp://ftp.gnu.org/gnu/glibc/
[D] 3398805477 glibc-linuxthreads-2.3.5.tar.bz2 ftp://ftp.gnu.org/gnu/glibc/
[V] 2.3.6
[D] 3555313491 glibc-2.3.6.tar.bz2 ftp://ftp.gnu.org/gnu/glibc/
[D] 2449696200 glibc-linuxthreads-2.3.6.tar.bz2 ftp://ftp.gnu.org/gnu/glibc/
#endif
[CD] <COPY> cp $cachedir/glibc2[23].cache $confdir/$pkg.cache

+ 0
- 110
package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-arm.patch

@ -1,110 +0,0 @@
Fixes
In file included from dynamic-link.h:22,
from dl-reloc.c:265:
../sysdeps/arm/dl-machine.h: In function '_dl_relocate_object':
../sysdeps/arm/dl-machine.h:371: error: invalid storage class for function 'fix_bad_pc24'
../sysdeps/arm/dl-machine.h:406: error: invalid storage class for function 'elf_machine_rel'
../sysdeps/arm/dl-machine.h:532: error: invalid storage class for function 'elf_machine_rela'
../sysdeps/arm/dl-machine.h:612: error: invalid storage class for function 'elf_machine_rel_relative'
../sysdeps/arm/dl-machine.h:621: error: invalid storage class for function 'elf_machine_rela_relative'
../sysdeps/arm/dl-machine.h:630: error: invalid storage class for function 'elf_machine_lazy_rel'
--- glibc-2.3.4/sysdeps/arm/dl-machine.h.old Sun Mar 20 17:54:37 2005
+++ glibc-2.3.4/sysdeps/arm/dl-machine.h Sun Mar 20 17:57:32 2005
@@ -359,7 +359,14 @@
# endif
/* Deal with an out-of-range PC24 reloc. */
-static Elf32_Addr
+#if __GNUC__ >= 4
+ auto inline Elf32_Addr
+#else
+ static inline Elf32_Addr
+#endif
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ __attribute ((always_inline))
+#endif
fix_bad_pc24 (Elf32_Addr *const reloc_addr, Elf32_Addr value)
{
static void *fix_page;
@@ -392,7 +399,14 @@
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
MAP is the object containing the reloc. */
-static inline void
+#if __GNUC__ >= 4
+ auto inline void
+#else
+ static inline void
+#endif
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ __attribute ((always_inline))
+#endif
elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
const Elf32_Sym *sym, const struct r_found_version *version,
void *const reloc_addr_arg)
@@ -517,7 +531,14 @@
}
# ifndef RTLD_BOOTSTRAP
-static inline void
+#if __GNUC__ >= 4
+ auto inline void
+#else
+ static inline void
+#endif
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ __attribute ((always_inline))
+#endif
elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
const Elf32_Sym *sym, const struct r_found_version *version,
void *const reloc_addr_arg)
@@ -597,7 +618,14 @@
}
# endif
-static inline void
+#if __GNUC__ >= 4
+ auto inline void
+#else
+ static inline void
+#endif
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ __attribute ((always_inline))
+#endif
elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
void *const reloc_addr_arg)
{
@@ -606,7 +634,14 @@
}
# ifndef RTLD_BOOTSTRAP
-static inline void
+#if __GNUC__ >= 4
+ auto inline void
+#else
+ static inline void
+#endif
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ __attribute ((always_inline))
+#endif
elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
void *const reloc_addr_arg)
{
@@ -615,7 +650,14 @@
}
# endif
-static inline void
+#if __GNUC__ >= 4
+ auto inline void
+#else
+ static inline void
+#endif
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ __attribute ((always_inline))
+#endif
elf_machine_lazy_rel (struct link_map *map,
Elf32_Addr l_addr, const Elf32_Rel *reloc)
{

+ 0
- 54
package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-elf.patch

@ -1,54 +0,0 @@
From http://www.mail-archive.com/pld-cvs-commit@pld-linux.org/msg00229.html
Fixes
rtld.c: In function '_dl_start':
dynamic-link.h:47: error: nested function 'elf_machine_rela_relative' declared but never defined
dynamic-link.h:41: error: nested function 'elf_machine_rela' declared but never defined
when compiling glibc-2.3.4 with gcc-4.0
--- glibc-2.3-20050307/elf/dynamic-link.h.old 2005-03-12 18:12:37.000000000 -0800
+++ glibc-2.3-20050307/elf/dynamic-link.h 2005-03-12 18:12:59.777820848 -0800
@@ -19,43 +19,6 @@
#include <elf.h>
#include <assert.h>
-
-#ifdef RESOLVE
-/* We pass reloc_addr as a pointer to void, as opposed to a pointer to
- ElfW(Addr), because not all architectures can assume that the
- relocated address is properly aligned, whereas the compiler is
- entitled to assume that a pointer to a type is properly aligned for
- the type. Even if we cast the pointer back to some other type with
- less strict alignment requirements, the compiler might still
- remember that the pointer was originally more aligned, thereby
- optimizing away alignment tests or using word instructions for
- copying memory, breaking the very code written to handle the
- unaligned cases. */
-auto void __attribute__((always_inline))
-elf_machine_rel (struct link_map *map, const ElfW(Rel) *reloc,
- const ElfW(Sym) *sym, const struct r_found_version *version,
- void *const reloc_addr);
-auto void __attribute__((always_inline))
-elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
- const ElfW(Sym) *sym, const struct r_found_version *version,
- void *const reloc_addr);
-auto void __attribute__((always_inline))
-elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc,
- void *const reloc_addr);
-auto void __attribute__((always_inline))
-elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
- void *const reloc_addr);
-# if ELF_MACHINE_NO_RELA || defined ELF_MACHINE_PLT_REL
-auto void __attribute__((always_inline))
-elf_machine_lazy_rel (struct link_map *map,
- ElfW(Addr) l_addr, const ElfW(Rel) *reloc);
-# else
-auto void __attribute__((always_inline))
-elf_machine_lazy_rel (struct link_map *map,
- ElfW(Addr) l_addr, const ElfW(Rela) *reloc);
-# endif
-#endif
-
#include <dl-machine.h>
#ifndef VERSYMIDX

+ 0
- 42
package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-iconvdata.patch

@ -1,42 +0,0 @@
Fixes
In file included from jis0208.c:23:
jis0208.h:32: error: array type has incomplete element type
when building glibc with gcc-4.0
The bug has been present since at least glibc-2.2.5.
This patch applies cleanly to glibc-2.3.4
--- /home/dank/downloads/glibc-2.3-20050307/iconvdata/jis0208.h 2003-06-11 14:40:42.000000000 -0700
+++ glibc-2.3-20050307/iconvdata/jis0208.h 2005-03-13 20:55:01.784054760 -0800
@@ -24,15 +24,6 @@
#include <gconv.h>
#include <stdint.h>
-/* Conversion table. */
-extern const uint16_t __jis0208_to_ucs[];
-
-extern const char __jisx0208_from_ucs4_lat1[256][2];
-extern const char __jisx0208_from_ucs4_greek[0xc1][2];
-extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[];
-extern const char __jisx0208_from_ucs_tab[][2];
-
-
/* Struct for table with indeces in UCS mapping table. */
struct jisx0208_ucs_idx
{
@@ -42,6 +33,15 @@
};
+/* Conversion table. */
+extern const uint16_t __jis0208_to_ucs[];
+
+extern const char __jisx0208_from_ucs4_lat1[256][2];
+extern const char __jisx0208_from_ucs4_greek[0xc1][2];
+extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[];
+extern const char __jisx0208_from_ucs_tab[][2];
+
+
static inline uint32_t
__attribute ((always_inline))
jisx0208_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)

+ 0
- 48
package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-powerpc-procfs.patch

@ -1,48 +0,0 @@
2005-02-21 Alan Modra <amodra@bigpond.net.au>
* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h (elf_vrreg_t): Don't
use __uint128_t.
Fixes
In file included from ../linuxthreads_db/proc_service.h:20,
from ../linuxthreads_db/thread_dbP.h:7,
from ../linuxthreads/descr.h:44,
from ../linuxthreads/internals.h:30,
from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27,
from ../sysdeps/generic/ldsodefs.h:38,
from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
from <stdin>:2:
../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:57: error: syntax error before 'elf_vrreg_t'
../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:57: warning: type defaults to 'int' in declaration of 'elf_vrreg_t'
../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:57: warning: data definition has no type or storage class
../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:58: error: syntax error before 'elf_vrregset_t'
../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:58: warning: type defaults to 'int' in declaration of 'elf_vrregset_t'
../sysdeps/unix/sysv/linux/powerpc/sys/procfs.h:58: warning: data definition has no type or storage class
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h 2003/12/17 23:09:34 1.11
+++ libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h 2005/03/02 20:11:38 1.12
@@ -46,15 +46,10 @@
typedef double elf_fpreg_t;
typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
-/* gcc 3.1 and newer support __uint128_t. */
-#if !__GNUC_PREREQ(3,1)
-typedef struct {
- unsigned long u[4];
-} __attribute((aligned(16))) __uint128_t;
-#endif
-
/* Altivec registers */
-typedef __uint128_t elf_vrreg_t;
+typedef struct {
+ unsigned int u[4];
+} __attribute__ ((aligned (16))) elf_vrreg_t;
typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG];
#endif

+ 0
- 41
package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-powerpc32.patch

@ -1,41 +0,0 @@
Fixes
../sysdeps/powerpc/powerpc32/dl-machine.h: In function '_dl_relocate_object':
../sysdeps/powerpc/powerpc32/dl-machine.h:461: error: invalid storage class for function 'elf_machine_rela_relative'
../sysdeps/powerpc/powerpc32/dl-machine.h:469: error: invalid storage class for function 'elf_machine_lazy_rel'
diff -ur glibc-2.3-20050307.orig/sysdeps/powerpc/powerpc32/dl-machine.h glibc-2.3-20050307/sysdeps/powerpc/powerpc32/dl-machine.h
--- glibc-2.3-20050307.orig/sysdeps/powerpc/powerpc32/dl-machine.h Wed Jul 30 23:33:52 2003
+++ glibc-2.3-20050307/sysdeps/powerpc/powerpc32/dl-machine.h Thu Mar 17 13:19:16 2005
@@ -455,7 +455,14 @@
}
}
-static inline void
+#if __GNUC__ >= 4
+ auto inline void
+#else
+ static inline void
+#endif
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ __attribute ((always_inline))
+#endif
elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
void *const reloc_addr_arg)
{
@@ -463,7 +470,14 @@
*reloc_addr = l_addr + reloc->r_addend;
}
-static inline void
+#if __GNUC__ >= 4
+ auto inline void
+#else
+ static inline void
+#endif
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ __attribute ((always_inline))
+#endif
elf_machine_lazy_rel (struct link_map *map,
Elf32_Addr l_addr, const Elf32_Rela *reloc)
{

+ 0
- 60
package/base/glibc/glibc23/glibc-2.3.4-allow-gcc-4.0-powerpc64.patch

@ -1,60 +0,0 @@
Fixes:
In file included from dynamic-link.h:22,
from dl-reloc.c:269:
../sysdeps/powerpc/powerpc64/dl-machine.h: In function '_dl_relocate_object':
../sysdeps/powerpc/powerpc64/dl-machine.h:573: error: invalid storage class for function 'elf_machine_rela_relative'
../sysdeps/powerpc/powerpc64/dl-machine.h:607: error: invalid storage class for function 'elf_machine_rela'
../sysdeps/powerpc/powerpc64/dl-machine.h:889: error: invalid storage class for function 'elf_machine_lazy_rel'
--- glibc-2.3-20050307/sysdeps/powerpc/powerpc64/dl-machine.h.old Thu Mar 17 13:35:23 2005
+++ glibc-2.3-20050307/sysdeps/powerpc/powerpc64/dl-machine.h Thu Mar 17 13:37:12 2005
@@ -567,7 +567,14 @@
const Elf64_Sym *refsym)
attribute_hidden;
-static inline void
+#if __GNUC__ >= 4
+ auto inline void
+#else
+ static inline void
+#endif
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ __attribute ((always_inline))
+#endif
elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
void *const reloc_addr_arg)
{
@@ -598,7 +605,14 @@
/* Perform the relocation specified by RELOC and SYM (which is fully
resolved). MAP is the object containing the reloc. */
-static inline void
+#if __GNUC__ >= 4
+ auto inline void
+#else
+ static inline void
+#endif
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ __attribute ((always_inline))
+#endif
elf_machine_rela (struct link_map *map,
const Elf64_Rela *reloc,
const Elf64_Sym *sym,
@@ -883,7 +897,14 @@
MODIFIED_CODE_NOQUEUE (reloc_addr);
}
-static inline void
+#if __GNUC__ >= 4
+ auto inline void
+#else
+ static inline void
+#endif
+#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ __attribute ((always_inline))
+#endif
elf_machine_lazy_rel (struct link_map *map,
Elf64_Addr l_addr, const Elf64_Rela *reloc)
{

+ 0
- 71
package/base/glibc/glibc23/glibc-2.3.5-allow-gcc4-string.patch

@ -1,71 +0,0 @@
? the following error when building with gcc-4.0.0:
../string/strcoll.c:39: error: '__EI_strcoll' aliased to undefined symbol '__GI_strcoll'
make[2]: *** [/home/dank/crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/build-glibc/wcsmbs/wcscoll.os] Error 1
make[2]: Leaving directory `/home/dank/crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/glibc-2.3.4/wcsmbs'
taken from Dan Kegel's glibc patches
===================================================================
RCS file: /cvs/glibc/libc/string/strcoll.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- libc/string/strcoll.c 2004/03/14 20:51:30 1.33
+++ libc/string/strcoll.c 2005/03/17 21:06:24 1.34
@@ -23,6 +23,7 @@
# define STRING_TYPE char
# define STRCOLL strcoll
# define STRCOLL_L __strcoll_l
+# define USE_HIDDEN_DEF
#endif
#include "../locale/localeinfo.h"
@@ -35,6 +36,7 @@
{
return STRCOLL_L (s1, s2, _NL_CURRENT_LOCALE);
}
-#if !defined WIDE_CHAR_VERSION
-libc_hidden_def (strcoll)
+
+#ifdef USE_HIDDEN_DEF
+libc_hidden_def (STRCOLL)
#endif
===================================================================
RCS file: /cvs/glibc/libc/include/wchar.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- libc/include/wchar.h 2004/03/14 20:45:10 1.26
+++ libc/include/wchar.h 2005/03/17 21:06:24 1.27
@@ -56,7 +56,6 @@
extern int __wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
size_t __n)
__attribute_pure__;
-extern int __wcscoll (__const wchar_t *__s1, __const wchar_t *__s2);
extern size_t __wcslen (__const wchar_t *__s) __attribute_pure__;
extern size_t __wcsnlen (__const wchar_t *__s, size_t __maxlen)
__attribute_pure__;
===================================================================
RCS file: /cvs/glibc/libc/wcsmbs/wcscoll.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- libc/wcsmbs/wcscoll.c 2004/03/14 21:05:48 1.13
+++ libc/wcsmbs/wcscoll.c 2005/03/17 21:06:24 1.14
@@ -22,12 +22,11 @@
#define STRING_TYPE wchar_t
#define USTRING_TYPE wint_t
-#define STRCOLL __wcscoll
+#define STRCOLL wcscoll
#define STRCOLL_L __wcscoll_l
#include "../string/strcoll.c"
#ifndef USE_IN_EXTENDED_LOCALE_MODEL
-weak_alias (__wcscoll, wcscoll)
libc_hidden_weak (wcscoll)
#endif

+ 0
- 105
package/base/glibc/glibc23/glibc-2.3.5-allow-gcc4-symbols.patch

@ -1,105 +0,0 @@
If I'm really lucky, this fixes the following error building with gcc-4.0.0:
../sysdeps/ieee754/dbl-64/s_isinf.c:29: error: 'isinf' aliased to undefined symbol '__isinf'
make[2]: *** [/home/dank/queue/jobdir.fast/crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/build-glibc/math/s_isinf.os] Error 1
make[1]: *** [math/subdir_lib] Error 2
make: *** [lib] Error 2
patch taken from Dan Kegel's glibc patches
===================================================================
RCS file: /cvs/glibc/libc/include/libc-symbols.h,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -r1.70 -r1.71
--- libc/include/libc-symbols.h 2005/02/11 00:29:46 1.70
+++ libc/include/libc-symbols.h 2005/03/17 21:06:27 1.71
@@ -583,78 +583,23 @@
# define hidden_proto(name, attrs...) \
__hidden_proto (name, __GI_##name, ##attrs)
# define __hidden_proto(name, internal, attrs...) \
- extern __typeof (name) internal; \
extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
__hidden_proto_hiddenattr (attrs);
# define __hidden_asmname(name) \
__hidden_asmname1 (__USER_LABEL_PREFIX__, name)
# define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name)
# define __hidden_asmname2(prefix, name) #prefix name
-# ifdef HAVE_ASM_SET_DIRECTIVE
-# define __hidden_def1(original, alias) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
- .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
- .set C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
-# else
-# define __hidden_dot_def1(original, alias)
-# endif
-# else
-# define __hidden_def1(original, alias) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
- C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
- C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
-# else
-# define __hidden_dot_def1(original, alias)
-# endif
-# endif
-# define __hidden_def2(...) #__VA_ARGS__
-# define __hidden_def3(...) __hidden_def2 (__VA_ARGS__)
-# define hidden_def(name) \
- __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name) \
- __hidden_dot_def1 (__GI_##name, name)));
-# define hidden_data_def(name) \
- __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name)));
-# define hidden_ver(local, name) \
- __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name) \
- __hidden_dot_def1 (local, __GI_##name)));
-# define hidden_data_ver(local, name) \
- __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name)));
-# ifdef HAVE_WEAK_SYMBOLS
-# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
-# define __hidden_weak1(original, alias) \
- .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
- .weakext C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
-# else
-# define __hidden_dot_weak1(original, alias)
-# endif
-# else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
-# define __hidden_weak1(original, alias) \
- .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \
- C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
- .weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
- C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
-# else
-# define __hidden_dot_weak1(original, alias)
-# endif
-# endif
-# define hidden_weak(name) \
- __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name) \
- __hidden_dot_weak1 (__GI_##name, name)));
-# define hidden_data_weak(name) \
- __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name)));
-# else
-# define hidden_weak(name) hidden_def (name)
-# endif
+# define __hidden_ver1(local, internal, name) \
+ extern __typeof (name) __EI_##name __asm__(__hidden_asmname (#internal)); \
+ extern __typeof (name) __EI_##name \
+ __attribute__((alias (__hidden_asmname (#local))))
+# define hidden_ver(local, name) __hidden_ver1(local, __GI_##name, name);
+# define hidden_data_ver(local, name) hidden_ver(local, name)
+# define hidden_def(name) __hidden_ver1(__GI_##name, name, name);
+# define hidden_data_def(name) hidden_def(name)
+# define hidden_weak(name) \
+ __hidden_ver1(__GI_##name, name, name) __attribute__((weak));
+# define hidden_data_weak(name) hidden_weak(name)
# else
/* For assembly, we need to do the opposite of what we do in C:
in assembly gcc __REDIRECT stuff is not in place, so functions

+ 6
- 4
package/base/glibc/glibc23/initfini-ccwrapper.patch

@ -29,12 +29,14 @@ stored in CFLAGS-initfini.s and CFLAGS-pt-initfini.s.
+ CMD_WRAPPER_BYPASS=1 $(compile.c) -O -S $(CFLAGS-initfini.s) -finhibit-size-directive \
$(patsubst -f%,-fno-%,$(exceptions)) -o $@
--- ./linuxthreads/Makefile.orig 2002-01-21 05:21:14.000000000 +0200
+++ ./linuxthreads/Makefile 2002-06-23 12:25:10.000000000 +0300
@@ -105,5 +105,5 @@
--- ./nptl/Makefile.orig 2005-12-07 17:07:04.000000000 +0100
+++ ./nptl/Makefile 2005-12-07 17:07:25.000000000 +0100
@@ -516,7 +516,7 @@
vpath pt-initfini.c $(full_config_sysdirs)
$(objpfx)pt-initfini.s: pt-initfini.c
- $(compile.c) -S $(CFLAGS-pt-initfini.s) -finhibit-size-directive \
+ CMD_WRAPPER_BYPASS=1 $(compile.c) -O -S $(CFLAGS-pt-initfini.s) -finhibit-size-directive \
$(patsubst -f%,-fno-%,$(exceptions)) -o $@
$(patsubst -f%,-fno-%,$(exceptions)) -o $@
$(objpfx)tst-cleanup0.out: /dev/null $(objpfx)tst-cleanup0

package/base/glibc/glibc23/glibc-2.3.1-timezone.patch → package/base/glibc/glibc23/initfini-ccwrapper.patch-linuxthreads

@ -5,7 +5,7 @@
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/glibc/glibc23/glibc-2.3.1-timezone.patch
# ROCK Linux: rock-src/package/base/glibc/glibc23/initfini-ccwrapper.patch
# ROCK Linux is Copyright (C) 1998 - 2005 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
@ -17,14 +17,15 @@
#
# --- ROCK-COPYRIGHT-NOTE-END ---
--- ./timezone/solar87.orig 2002-12-16 22:50:28.000000000 +0100
+++ ./timezone/solar87 2002-12-16 22:46:40.000000000 +0100
@@ -382,7 +382,7 @@
Make sure that the ROCK Linux CC Wrapper is not removing the CFLAGS
stored in CFLAGS-initfini.s and CFLAGS-pt-initfini.s.
--- ./linuxthreads/Makefile.orig 2002-01-21 05:21:14.000000000 +0200
+++ ./linuxthreads/Makefile 2002-06-23 12:25:10.000000000 +0300
@@ -105,5 +105,5 @@
$(objpfx)pt-initfini.s: pt-initfini.c
- $(compile.c) -S $(CFLAGS-pt-initfini.s) -finhibit-size-directive \
+ CMD_WRAPPER_BYPASS=1 $(compile.c) -O -S $(CFLAGS-pt-initfini.s) -finhibit-size-directive \
$(patsubst -f%,-fno-%,$(exceptions)) -o $@
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone Asia/Riyadh87 3:07:04 - ?? 1987
- 3:07:04 sol87 ?? 1988
+# 3:07:04 sol87 ?? 1988
3:07:04 - ??
# For backward compatibility...
Link Asia/Riyadh87 Mideast/Riyadh87

Loading…
Cancel
Save