Hi,
attached are patches requiered to get glibc 2.3 working for mips(el).
The first one adds clock_{get,set}time compatibility symbols for
mips(el) since they were exported as @@GLIBC_2.0 instead of 2.2 in our
woody glibc.
The second one is a build fix by H.J. Lu which didn't get applied to
glibc CVS yet.
Regards,
 -- Guido
#! /bin/sh -e

# DP: add clock_{get,set}time@@GLIBC_2.0 - programs in Woody need it
# DP: although it should actually be @@GLIBC_2.2
# DP: status: debian specific

if [ $# -ne 2 ]; then
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
    exit 1
fi
case "$1" in
    -patch) patch -d "$2" -f --no-backup-if-mismatch -p0 < $0;;
    -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p0 < $0;;
    *)
        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
        exit 1
esac
exit 0

--- sysdeps/unix/sysv/linux/mips/Versions.orig  Tue Sep 24 15:56:55 2002
+++ sysdeps/unix/sysv/linux/mips/Versions       Tue Sep 24 15:49:27 2002
@@ -34,3 +34,9 @@
     _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
   }
 }
+librt {
+  GLIBC_2.0 {
+    # c*
+    clock_gettime; clock_settime;
+  }
+}
#! /bin/sh -e

# DP: 2002-02-04  H.J. Lu  <[EMAIL PROTECTED]>
# DP: elf/dl-conflict.c (_dl_resolve_conflicts): Dummy if
# DP: _DL_HAVE_NO_ELF_MACHINE_RELA is defined.

echo $#

if [ $# -ne 2 ]; then
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
    exit 1
fi
case "$1" in
    -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;;
    -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;;
    *)
        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
        exit 1
esac
exit 0

--- libc/elf/dl-conflict.c.mips Mon Feb  4 13:44:57 2002
+++ libc/elf/dl-conflict.c      Mon Feb  4 15:10:31 2002
@@ -33,6 +33,7 @@ void
 _dl_resolve_conflicts (struct link_map *l, ElfW(Rela) *conflict,
                       ElfW(Rela) *conflictend)
 {
+#ifndef _DL_HAVE_NO_ELF_MACHINE_RELA
   if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_RELOC, 0))
     _dl_printf ("\nconflict processing: %s\n",
                l->l_name[0] ? l->l_name : _dl_argv[0]);
@@ -63,4 +64,5 @@ _dl_resolve_conflicts (struct link_map *
     for (; conflict < conflictend; ++conflict)
       elf_machine_rela (l, conflict, NULL, NULL, (void *) conflict->r_offset);
   }
+#endif
 }
--- libc/sysdeps/mips/dl-machine.h.mips Mon Feb  4 13:45:18 2002
+++ libc/sysdeps/mips/dl-machine.h      Mon Feb  4 15:08:39 2002
@@ -56,6 +56,9 @@
 #define ELF_MACHINE_JMP_SLOT                   R_MIPS_REL32
 #define elf_machine_type_class(type)           ELF_RTYPE_CLASS_PLT
 
+/* MIPS doesn't support RELA.  */
+#define _DL_HAVE_NO_ELF_MACHINE_RELA
+
 /* Translate a processor specific dynamic tag to the index
    in l_info array.  */
 #define DT_MIPS(x) (DT_MIPS_##x - DT_LOPROC + DT_NUM)

Attachment: msg01206/pgp00000.pgp
Description: PGP signature

Reply via email to