diff options
author | Seemant Kulleen <seemant@gentoo.org> | 2002-10-12 01:44:41 +0000 |
---|---|---|
committer | Seemant Kulleen <seemant@gentoo.org> | 2002-10-12 01:44:41 +0000 |
commit | d5f73b0dc972ef65f82220f4b6232cc64f2200a6 (patch) | |
tree | 759b81dd430e73df71447d98891c1c843ea02185 /sys-libs | |
parent | Unmasking latest openbox-2.1.2 (diff) | |
download | historical-d5f73b0dc972ef65f82220f4b6232cc64f2200a6.tar.gz historical-d5f73b0dc972ef65f82220f4b6232cc64f2200a6.tar.bz2 historical-d5f73b0dc972ef65f82220f4b6232cc64f2200a6.zip |
sparc and sparc64 fixups
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/glibc/ChangeLog | 9 | ||||
-rw-r--r-- | sys-libs/glibc/files/glibc-2.2.5-gcc311-sparc.patch | 21 | ||||
-rw-r--r-- | sys-libs/glibc/files/glibc-2.2.5-sparc-misc.diff | 339 | ||||
-rw-r--r-- | sys-libs/glibc/files/glibc-2.2.5-sparc64-fixups.diff | 46 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.2.5-r7.ebuild | 14 |
5 files changed, 406 insertions, 23 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog index 75846b791d69..dd765a67a9d0 100644 --- a/sys-libs/glibc/ChangeLog +++ b/sys-libs/glibc/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-libs/glibc # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.16 2002/10/09 20:11:28 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.17 2002/10/12 01:44:41 seemant Exp $ + + 11 Oct 2002; Seemant Kulleen <seemant@gentoo.org> glibc-2.2.5-r7.ebuild + files/glibc-2.2.5-sparc-misc.diff files/glibc-2.2.5-sparc64-fixups.diff : + + Added patches from debian's patch set to fix miscellaneous issues on sparc + and sparc64. One indication of the hassle with sparc64 was the mozilla + compile failure. That _should_ be sorted out now. 09 Oct 2002; Martin Schlemmer <azarah@gentoo.org> glibc-2.2.5-r7.ebuild, glibc-2.2.5-divdi3.diff : diff --git a/sys-libs/glibc/files/glibc-2.2.5-gcc311-sparc.patch b/sys-libs/glibc/files/glibc-2.2.5-gcc311-sparc.patch deleted file mode 100644 index 9da89e75d89c..000000000000 --- a/sys-libs/glibc/files/glibc-2.2.5-gcc311-sparc.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- glibc-2.2.5/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h.old Fri Jul 6 06:56:22 2001 -+++ glibc-2.2.5/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h Wed Jul 24 14:36:31 2002 -@@ -51,6 +51,6 @@ - #define r1 %o1 - #define MOVE(x,y) mov x, y - --#define LOC(name) .##L##name -+#define LOC(name) .L##name - - #endif /* __ASSEMBLER__ */ ---- glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h.old Fri Jul 6 06:56:21 2001 -+++ glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h Wed Jul 24 14:35:08 2002 -@@ -48,7 +48,7 @@ - #define END(name) \ - .size name, . - name - --#define LOC(name) . ## L ## name -+#define LOC(name) .L##name - - #ifdef PIC - #define SYSCALL_ERROR_HANDLER \ diff --git a/sys-libs/glibc/files/glibc-2.2.5-sparc-misc.diff b/sys-libs/glibc/files/glibc-2.2.5-sparc-misc.diff new file mode 100644 index 000000000000..dc5f08bf50b7 --- /dev/null +++ b/sys-libs/glibc/files/glibc-2.2.5-sparc-misc.diff @@ -0,0 +1,339 @@ +#! /bin/sh -e + +# DP: Misc. SPARC fixes. + +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 + +2002-05-16 David S. Miller <davem@redhat.com> + + * sysdeps/sparc/sparc32/dl-machine.h (LOAD_PIC_REG): Define. + (elf_machine_dynamic): Use it to force PIC register to be loaded. + (elf_machine_load_address): Likewise. + * sysdeps/sparc/sparc64/dl-machine.h: Mirror sparc32 changes. + + * sysdeps/sparc/sparc64/strncmp.S: When second argument pointer + is unaligned, do not forget to fully initialize %g1 magic value. + + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (LOC): Fix CPP + pasting. + + * sysdeps/unix/sysv/linux/sparc/sys/procfs.h: Fix 64-bit elf + register definitions and provide 32-bit variants of structures + during 64-bit builds. + + * soft-fp/op-1.h (_FP_FRAC_CLEAR_OVERP_1): Define. + * soft-fp/op-2.h (_FP_FRAC_CLEAR_OVERP_2): Define. + * soft-fp/op-4.h (_FP_FRAC_CLEAR_OVERP_4): Define. + * soft-fp/op-common.h (_FP_PACK_CANONICAL): After rounding, if + _FP_FRAC_OVERP_X is set, use _FP_FRAC_CLEAR_OVERP_X to clear it. + (_FP_FROM_INT): Perform right shifts on unsigned integer type. + Do not clear implicit one bit here, it must be done post-rounding. + Only pad to the left using left shift if value uses less than the + available fractional bits. + +diff -urN glibc-2.2.5.orig/soft-fp/op-1.h glibc-2.2.5/soft-fp/op-1.h +--- glibc-2.2.5.orig/soft-fp/op-1.h Mon Jun 17 21:48:12 2002 ++++ glibc-2.2.5/soft-fp/op-1.h Mon Jun 17 22:27:52 2002 +@@ -55,6 +55,7 @@ + #define _FP_FRAC_NEGP_1(X) ((_FP_WS_TYPE)X##_f < 0) + #define _FP_FRAC_ZEROP_1(X) (X##_f == 0) + #define _FP_FRAC_OVERP_1(fs,X) (X##_f & _FP_OVERFLOW_##fs) ++#define _FP_FRAC_CLEAR_OVERP_1(fs,X) (X##_f &= ~_FP_OVERFLOW_##fs) + #define _FP_FRAC_EQ_1(X, Y) (X##_f == Y##_f) + #define _FP_FRAC_GE_1(X, Y) (X##_f >= Y##_f) + #define _FP_FRAC_GT_1(X, Y) (X##_f > Y##_f) +diff -urN glibc-2.2.5.orig/soft-fp/op-2.h glibc-2.2.5/soft-fp/op-2.h +--- glibc-2.2.5.orig/soft-fp/op-2.h Mon Jun 17 21:48:12 2002 ++++ glibc-2.2.5/soft-fp/op-2.h Mon Jun 17 22:27:52 2002 +@@ -112,6 +112,7 @@ + #define _FP_FRAC_NEGP_2(X) ((_FP_WS_TYPE)X##_f1 < 0) + #define _FP_FRAC_ZEROP_2(X) ((X##_f1 | X##_f0) == 0) + #define _FP_FRAC_OVERP_2(fs,X) (_FP_FRAC_HIGH_##fs(X) & _FP_OVERFLOW_##fs) ++#define _FP_FRAC_CLEAR_OVERP_2(fs,X) (_FP_FRAC_HIGH_##fs(X) &= ~_FP_OVERFLOW_##fs) + #define _FP_FRAC_EQ_2(X, Y) (X##_f1 == Y##_f1 && X##_f0 == Y##_f0) + #define _FP_FRAC_GT_2(X, Y) \ + (X##_f1 > Y##_f1 || X##_f1 == Y##_f1 && X##_f0 > Y##_f0) +diff -urN glibc-2.2.5.orig/soft-fp/op-4.h glibc-2.2.5/soft-fp/op-4.h +--- glibc-2.2.5.orig/soft-fp/op-4.h Mon Jun 17 21:48:12 2002 ++++ glibc-2.2.5/soft-fp/op-4.h Mon Jun 17 22:27:52 2002 +@@ -129,6 +129,7 @@ + #define _FP_FRAC_ZEROP_4(X) ((X##_f[0] | X##_f[1] | X##_f[2] | X##_f[3]) == 0) + #define _FP_FRAC_NEGP_4(X) ((_FP_WS_TYPE)X##_f[3] < 0) + #define _FP_FRAC_OVERP_4(fs,X) (_FP_FRAC_HIGH_##fs(X) & _FP_OVERFLOW_##fs) ++#define _FP_FRAC_CLEAR_OVERP_4(fs,X) (_FP_FRAC_HIGH_##fs(X) &= ~_FP_OVERFLOW_##fs) + + #define _FP_FRAC_EQ_4(X,Y) \ + (X##_f[0] == Y##_f[0] && X##_f[1] == Y##_f[1] \ +diff -urN glibc-2.2.5.orig/soft-fp/op-common.h glibc-2.2.5/soft-fp/op-common.h +--- glibc-2.2.5.orig/soft-fp/op-common.h Mon Jun 17 21:48:12 2002 ++++ glibc-2.2.5/soft-fp/op-common.h Mon Jun 17 22:27:52 2002 +@@ -89,11 +89,10 @@ + _FP_ROUND(wc, X); \ + if (_FP_FRAC_OVERP_##wc(fs, X)) \ + { \ +- _FP_FRAC_SRL_##wc(X, (_FP_WORKBITS+1)); \ ++ _FP_FRAC_CLEAR_OVERP_##wc(fs, X); \ + X##_e++; \ + } \ +- else \ +- _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \ ++ _FP_FRAC_SRL_##wc(X, _FP_WORKBITS); \ + if (X##_e >= _FP_EXPMAX_##fs) \ + { \ + /* overflow */ \ +@@ -682,25 +681,27 @@ + do { \ + if (r) \ + { \ ++ unsigned rtype ur_; \ + X##_c = FP_CLS_NORMAL; \ + \ + if ((X##_s = (r < 0))) \ + r = -r; \ + \ ++ ur_ = (unsigned rtype) r; \ + if (rsize <= _FP_W_TYPE_SIZE) \ +- __FP_CLZ(X##_e, r); \ ++ __FP_CLZ(X##_e, ur_); \ + else \ +- __FP_CLZ_2(X##_e, (_FP_W_TYPE)(r >> _FP_W_TYPE_SIZE), \ +- (_FP_W_TYPE)r); \ ++ __FP_CLZ_2(X##_e, (_FP_W_TYPE)(ur_ >> _FP_W_TYPE_SIZE), \ ++ (_FP_W_TYPE)ur_); \ + if (rsize < _FP_W_TYPE_SIZE) \ + X##_e -= (_FP_W_TYPE_SIZE - rsize); \ + X##_e = rsize - X##_e - 1; \ + \ + if (_FP_FRACBITS_##fs < rsize && _FP_WFRACBITS_##fs < X##_e) \ +- __FP_FRAC_SRS_1(r, (X##_e - _FP_WFRACBITS_##fs), rsize); \ +- r &= ~((rtype)1 << X##_e); \ +- _FP_FRAC_DISASSEMBLE_##wc(X, ((unsigned rtype)r), rsize); \ +- _FP_FRAC_SLL_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 1)); \ ++ __FP_FRAC_SRS_1(ur_, (X##_e - _FP_WFRACBITS_##fs + 1), rsize);\ ++ _FP_FRAC_DISASSEMBLE_##wc(X, ur_, rsize); \ ++ if ((_FP_WFRACBITS_##fs - X##_e - 1) > 0) \ ++ _FP_FRAC_SLL_##wc(X, (_FP_WFRACBITS_##fs - X##_e - 1)); \ + } \ + else \ + { \ +diff -urN glibc-2.2.5.orig/sysdeps/sparc/sparc32/dl-machine.h glibc-2.2.5/sysdeps/sparc/sparc32/dl-machine.h +--- glibc-2.2.5.orig/sysdeps/sparc/sparc32/dl-machine.h Mon Jun 17 21:48:12 2002 ++++ glibc-2.2.5/sysdeps/sparc/sparc32/dl-machine.h Mon Jun 17 22:27:52 2002 +@@ -42,7 +42,6 @@ + #define LD_SO_PRELOAD ((_dl_hwcap & HWCAP_SPARC_V9) ? "/etc/ld.so.preload32" \ + : "/etc/ld.so.preload") + +- + /* Return nonzero iff ELF header is compatible with the running host. */ + static inline int + elf_machine_matches_host (const Elf32_Ehdr *ehdr) +@@ -64,6 +63,17 @@ + return 0; + } + ++/* We have to do this because elf_machine_{dynamic,load_address} can be ++ invoked from functions that have no GOT references, and thus the compiler ++ has no obligation to load the PIC register. */ ++#define LOAD_PIC_REG(PIC_REG) \ ++do { register Elf32_Addr pc __asm("o7"); \ ++ __asm("sethi %%hi(_GLOBAL_OFFSET_TABLE_-4), %1\n\t" \ ++ "call 1f\n\t" \ ++ "add %1, %%lo(_GLOBAL_OFFSET_TABLE_+4), %1\n" \ ++ "1:\tadd %1, %0, %1" \ ++ : "=r" (pc), "=r" (PIC_REG)); \ ++} while (0) + + /* Return the link-time address of _DYNAMIC. Conveniently, this is the + first element of the GOT. This must be inlined in a function which +@@ -72,6 +82,9 @@ + elf_machine_dynamic (void) + { + register Elf32_Addr *got asm ("%l7"); ++ ++ LOAD_PIC_REG (got); ++ + return *got; + } + +@@ -80,6 +93,8 @@ + elf_machine_load_address (void) + { + register Elf32_Addr pc __asm("%o7"), pic __asm("%l7"), got; ++ ++ LOAD_PIC_REG (pic); + + /* Utilize the fact that a local .got entry will be partially + initialized at startup awaiting its RELATIVE fixup. */ +diff -urN glibc-2.2.5.orig/sysdeps/sparc/sparc64/dl-machine.h glibc-2.2.5/sysdeps/sparc/sparc64/dl-machine.h +--- glibc-2.2.5.orig/sysdeps/sparc/sparc64/dl-machine.h Mon Jun 17 21:48:12 2002 ++++ glibc-2.2.5/sysdeps/sparc/sparc64/dl-machine.h Mon Jun 17 22:27:52 2002 +@@ -34,6 +34,18 @@ + return ehdr->e_machine == EM_SPARCV9; + } + ++/* We have to do this because elf_machine_{dynamic,load_address} can be ++ invoked from functions that have no GOT references, and thus the compiler ++ has no obligation to load the PIC register. */ ++#define LOAD_PIC_REG(PIC_REG) \ ++do { Elf64_Addr tmp; \ ++ __asm("sethi %%hi(_GLOBAL_OFFSET_TABLE_-4), %1\n\t" \ ++ "rd %%pc, %0\n\t" \ ++ "add %1, %%lo(_GLOBAL_OFFSET_TABLE_+4), %1\n\t" \ ++ "add %0, %1, %0" \ ++ : "=r" (PIC_REG), "=r" (tmp)); \ ++} while (0) ++ + /* Return the link-time address of _DYNAMIC. Conveniently, this is the + first element of the GOT. This must be inlined in a function which + uses global data. */ +@@ -42,6 +54,8 @@ + { + register Elf64_Addr *elf_pic_register __asm__("%l7"); + ++ LOAD_PIC_REG (elf_pic_register); ++ + return *elf_pic_register; + } + +@@ -50,6 +64,8 @@ + elf_machine_load_address (void) + { + register Elf64_Addr *elf_pic_register __asm__("%l7"); ++ ++ LOAD_PIC_REG (elf_pic_register); + + /* We used to utilize the fact that a local .got entry will + be partially initialized at startup awaiting its RELATIVE +diff -urN glibc-2.2.5.orig/sysdeps/sparc/sparc64/strncmp.S glibc-2.2.5/sysdeps/sparc/sparc64/strncmp.S +--- glibc-2.2.5.orig/sysdeps/sparc/sparc64/strncmp.S Mon Jun 17 21:48:12 2002 ++++ glibc-2.2.5/sysdeps/sparc/sparc64/strncmp.S Mon Jun 17 22:27:52 2002 +@@ -290,14 +290,15 @@ + ldxa [%o0] ASI_PNF, %g4 /* Load */ + 11: sllx %g3, 3, %g5 /* IEU0 Group */ + mov 64, %g7 /* IEU1 */ +- sub %o1, %g3, %o1 /* IEU0 Group */ ++ or %g1, %g2, %g1 /* IEU0 Group */ ++ sub %o1, %g3, %o1 /* IEU1 */ + +- sub %g7, %g5, %g7 /* IEU1 */ ++ sub %g7, %g5, %g7 /* IEU0 Group */ + ldxa [%o1] ASI_PNF, %o4 /* Load */ +- sllx %g1, 7, %g2 /* IEU0 Group */ +- add %o1, 8, %o1 /* IEU1 */ ++ sllx %g1, 7, %g2 /* IEU1 */ ++ add %o1, 8, %o1 /* IEU0 Group */ + /* %g1 = 0101010101010101 +- %g2 = 8080808080800880 ++ %g2 = 8080808080808080 + %g3 = %o1 alignment + %g5 = number of bits to shift left + %g7 = number of bits to shift right */ +diff -urN glibc-2.2.5.orig/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h +--- glibc-2.2.5.orig/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h Mon Jun 17 21:48:12 2002 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h Mon Jun 17 22:27:52 2002 +@@ -48,7 +48,7 @@ + #define END(name) \ + .size name, . - name + +-#define LOC(name) . ## L ## name ++#define LOC(name) .##L##name + + #ifdef PIC + #define SYSCALL_ERROR_HANDLER \ +diff -urN glibc-2.2.5.orig/sysdeps/unix/sysv/linux/sparc/sys/procfs.h glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sys/procfs.h +--- glibc-2.2.5.orig/sysdeps/unix/sysv/linux/sparc/sys/procfs.h Mon Jun 17 21:48:12 2002 ++++ glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sys/procfs.h Mon Jun 17 22:27:52 2002 +@@ -35,7 +35,7 @@ + + #if __WORDSIZE == 64 + +-#define ELF_NGREG 20 ++#define ELF_NGREG 36 + + typedef struct + { +@@ -138,6 +138,73 @@ + + typedef struct elf_prstatus prstatus_t; + typedef struct elf_prpsinfo prpsinfo_t; ++ ++#if __WORDSIZE == 64 ++ ++/* Provide 32-bit variants so that BFD can read 32-bit ++ core files. */ ++#define ELF_NGREG32 38 ++typedef struct ++ { ++ union ++ { ++ unsigned int pr_regs[32]; ++ double pr_dregs[16]; ++ } pr_fr; ++ unsigned int __unused; ++ unsigned int pr_fsr; ++ unsigned char pr_qcnt; ++ unsigned char pr_q_entrysize; ++ unsigned char pr_en; ++ unsigned int pr_q[64]; ++ } elf_fpregset_t32; ++ ++typedef unsigned int elf_greg_t32; ++typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32]; ++ ++struct elf_prstatus32 ++ { ++ struct elf_siginfo pr_info; /* Info associated with signal. */ ++ short int pr_cursig; /* Current signal. */ ++ unsigned int pr_sigpend; /* Set of pending signals. */ ++ unsigned int pr_sighold; /* Set of held signals. */ ++ __pid_t pr_pid; ++ __pid_t pr_ppid; ++ __pid_t pr_pgrp; ++ __pid_t pr_sid; ++ struct ++ { ++ int tv_sec, tv_usec; ++ } pr_utime, /* User time. */ ++ pr_stime, /* System time. */ ++ pr_cutime, /* Cumulative user time. */ ++ pr_cstime; /* Cumulative system time. */ ++ elf_gregset_t32 pr_reg; /* GP registers. */ ++ int pr_fpvalid; /* True if math copro being used. */ ++ }; ++ ++struct elf_prpsinfo32 ++ { ++ char pr_state; /* Numeric process state. */ ++ char pr_sname; /* Char for pr_state. */ ++ char pr_zomb; /* Zombie. */ ++ char pr_nice; /* Nice val. */ ++ unsigned int pr_flag; /* Flags. */ ++ unsigned short int pr_uid; ++ unsigned short int pr_gid; ++ int pr_pid, pr_ppid, pr_pgrp, pr_sid; ++ /* Lots missing */ ++ char pr_fname[16]; /* Filename of executable. */ ++ char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ ++ }; ++ ++typedef elf_gregset_t32 prgregset32_t; ++typedef elf_fpregset_t32 prfpregset32_t; ++ ++typedef struct elf_prstatus32 prstatus32_t; ++typedef struct elf_prpsinfo32 prpsinfo32_t; ++ ++#endif /* sparc64 */ + + __END_DECLS + diff --git a/sys-libs/glibc/files/glibc-2.2.5-sparc64-fixups.diff b/sys-libs/glibc/files/glibc-2.2.5-sparc64-fixups.diff new file mode 100644 index 000000000000..181f13c52d49 --- /dev/null +++ b/sys-libs/glibc/files/glibc-2.2.5-sparc64-fixups.diff @@ -0,0 +1,46 @@ +#! /bin/sh -e + +# DP: Fix ldconfig so that lib64 searches are implicit. + +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 + +--- glibc-2.2.3/elf/ldconfig.c~ Tue Mar 20 11:44:35 2001 ++++ glibc-2.2.3/elf/ldconfig.c Tue Apr 24 18:14:05 2001 +@@ -287,6 +287,26 @@ + dir_entries = entry; + else if (ptr == NULL) + prev->next = entry; ++#ifdef __sparc__ ++#define MSUBDIR "64" ++ if (ptr == NULL) { ++ int si = strlen(entry->path) - strlen(MSUBDIR); ++ if (strcmp (entry->path + (si <= 0 ? 0 : si), MSUBDIR) != 0) { ++ /* Handle subdirectory later. */ ++ struct dir_entry *new_entry; ++ ++ new_entry = xmalloc (sizeof (struct dir_entry)); ++ new_entry->path = xmalloc(strlen(entry->path)+strlen(MSUBDIR)+1); ++ new_entry->flag = entry->flag; ++ new_entry->next = NULL; ++ sprintf(new_entry->path, "%s%s", entry->path, MSUBDIR); ++ if (opt_verbose) ++ printf("Adding implicit multilib directory:\n\t%s\n", new_entry->path); ++ add_single_dir (new_entry, 0); ++ } ++ } ++#undef MSUBDIR ++#endif + } + + /* Add one directory to the list of directories to process. */ diff --git a/sys-libs/glibc/glibc-2.2.5-r7.ebuild b/sys-libs/glibc/glibc-2.2.5-r7.ebuild index 791d5c6c61b8..e950a8013e29 100644 --- a/sys-libs/glibc/glibc-2.2.5-r7.ebuild +++ b/sys-libs/glibc/glibc-2.2.5-r7.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.2.5-r7.ebuild,v 1.9 2002/10/09 20:11:28 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.2.5-r7.ebuild,v 1.10 2002/10/12 01:44:41 seemant Exp $ IUSE="nls pic build" inherit flag-o-matic @@ -111,6 +111,18 @@ src_unpack() { patch -p1 < ${FILESDIR}/glibc-2.2.5-alpha-gcc3-fix.diff || die patch -p1 < ${FILESDIR}/glibc-2.2.5-alpha-pcdyn-fix.diff || die fi + + # A patch for miscellaenous sparc fixes + if [ "${ARCH}" = "sparc" -o "${ARCH} = "sparc64" ] ; then + cd ${S} + patch -p1 < ${FILESDIR}/${P}-sparc-misc.diff || die + fi + + # A patch for the notorious sparc64 issues + if [ "${ARCH} = "sparc64" ] ; then + cd ${S} + patch -p1 < ${FILESDIR}/${P}-sparc64-fixups.diff || die + fi } src_compile() { |