r952 - in glibc-package/trunk/debian: . patches
Author: gotom
Date: 2005-07-17 07:24:52 +0000 (Sun, 17 Jul 2005)
New Revision: 952
Added:
glibc-package/trunk/debian/patches/glibc235-gcc4-mips-inline.dpatch
glibc-package/trunk/debian/patches/glibc235-gcc4-mips-sysdeps.dpatch
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/00list
glibc-package/trunk/debian/patches/glibc235-gcc4-sparc-inline.dpatch
Log:
- debian/patches/glibc235-gcc4-mips-inline.dpatch: Fix mips compilation
breakage by changing static inline to auto inline for dl-machine.h.
- debian/patches/glibc235-gcc4-mips-sysdeps.dpatch: Fix mips compilation
breakage by changing large syscall arguments handling.
Add debian/patches/glibc235-gcc4-sparc-inline.dpatch changelog entry.
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2005-07-17 05:27:59 UTC (rev 951)
+++ glibc-package/trunk/debian/changelog 2005-07-17 07:24:52 UTC (rev 952)
@@ -55,6 +55,10 @@
breakage by changing static inline to auto inline for dl-machine.h.
- debian/patches/glibc235-gcc4-sparc-mv8.dpatch: Fix obsolete gcc option
to replace newer standard one.
+ - debian/patches/glibc235-gcc4-mips-inline.dpatch: Fix mips compilation
+ breakage by changing static inline to auto inline for dl-machine.h.
+ - debian/patches/glibc235-gcc4-mips-sysdeps.dpatch: Fix mips compilation
+ breakage by changing large syscall arguments handling.
* Move /etc/locale.alias to /usr/share/locale/locale.alias.
Don't install locale.alias.5. (Closes: #144670, #185991, #298784)
Modified: glibc-package/trunk/debian/patches/00list
===================================================================
--- glibc-package/trunk/debian/patches/00list 2005-07-17 05:27:59 UTC (rev 951)
+++ glibc-package/trunk/debian/patches/00list 2005-07-17 07:24:52 UTC (rev 952)
@@ -69,3 +69,5 @@
glibc235-gcc4-arm-inline
glibc235-gcc4-sparc-inline
glibc235-gcc4-sparc-mv8
+glibc235-gcc4-mips-inline
+glibc235-gcc4-mips-sysdeps
Added: glibc-package/trunk/debian/patches/glibc235-gcc4-mips-inline.dpatch
===================================================================
--- glibc-package/trunk/debian/patches/glibc235-gcc4-mips-inline.dpatch 2005-07-17 05:27:59 UTC (rev 951)
+++ glibc-package/trunk/debian/patches/glibc235-gcc4-mips-inline.dpatch 2005-07-17 07:24:52 UTC (rev 952)
@@ -0,0 +1,110 @@
+#! /bin/sh -e
+
+# All lines beginning with `# DP:' are a description of the patch.
+# DP: Description: Make glibc-2.3.5 compile with gcc-4.0 on arm for inline
+# functions of dl-machine.h.
+# DP: Related bugs:
+# DP: Dpatch author: GOTO Masanori <gotom@debian.org>
+# DP: Patch author: GOTO Masanori <gotom@debian.org>
+# DP: Upstream status: In CVS / Debian-Specific
+# DP: Status Details:
+# DP: Date: 2005-07-17
+
+PATCHLEVEL=0
+
+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 -p$PATCHLEVEL < $0;;
+ -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+2005-07-17 GOTO Masanori <gotom@debian.org>
+
+ * sysdeps/mips/dl-machine.h: Use auto inline.
+
+--- sysdeps/mips/dl-machine.h 2005-07-17 00:36:51.000000000 +0900
++++ sysdeps/mips/dl-machine.h.new 2005-07-17 00:40:18.000000000 +0900
+@@ -528,7 +528,11 @@
+ /* 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
+ #ifdef RTLD_BOOTSTRAP
+ __attribute__ ((always_inline))
+ #endif
+@@ -635,14 +639,28 @@
+ }
+ }
+
+-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 (ElfW(Addr) l_addr, const ElfW(Rel) *reloc,
+ void *const reloc_addr)
+ {
+ /* XXX Nothing to do. There is no relative relocation, right? */
+ }
+
+-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,
+ ElfW(Addr) l_addr, const ElfW(Rel) *reloc)
+ {
+@@ -651,7 +669,14 @@
+
+ #ifndef RTLD_BOOTSTRAP
+ /* Relocate GOT. */
+-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_got_rel (struct link_map *map, int lazy)
+ {
+ ElfW(Addr) *got;
+@@ -738,7 +763,14 @@
+ /* Set up the loaded object described by L so its stub function
+ will jump to the on-demand fixup code __dl_runtime_resolve. */
+
+-static inline int
++#if __GNUC__ >= 4
++ auto inline int
++#else
++ static inline int
++#endif
++#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
++ __attribute ((always_inline))
++#endif
+ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
+ {
+ # ifndef RTLD_BOOTSTRAP
Added: glibc-package/trunk/debian/patches/glibc235-gcc4-mips-sysdeps.dpatch
===================================================================
--- glibc-package/trunk/debian/patches/glibc235-gcc4-mips-sysdeps.dpatch 2005-07-17 05:27:59 UTC (rev 951)
+++ glibc-package/trunk/debian/patches/glibc235-gcc4-mips-sysdeps.dpatch 2005-07-17 07:24:52 UTC (rev 952)
@@ -0,0 +1,438 @@
+#! /bin/sh -e
+
+# All lines beginning with `# DP:' are a description of the patch.
+# DP: Description: Make glibc-2.3.5 compile with gcc-4.0 on mips for
+# the breakage of large syscall arguments handling.
+# DP: Related bugs:
+# DP: Dpatch author: GOTO Masanori <gotom@debian.org>
+# DP: Patch author: Daniel Jacobowitz <dan@codesourcery.com>
+# DP: Upstream status: In CVS
+# DP: Status Details:
+# DP: Date: 2005-07-17
+
+PATCHLEVEL=0
+
+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 -p$PATCHLEVEL < $0;;
+ -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+2005-03-28 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
+ (INTERNAL_SYSCALL_NCS): New.
+ (INTERNAL_SYSCALL): Update for non-constant support.
+ (internal_syscall0): Likewise.
+ (internal_syscall1): Likewise.
+ (internal_syscall2): Likewise.
+ (internal_syscall3): Likewise.
+ (internal_syscall4): Likewise.
+ (internal_syscall5): Likewise.
+ (internal_syscall6): Likewise.
+ (internal_syscall7): Likewise.
+
+2005-03-28 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
+ (internal_syscall5): Use register operands instead of non-lvalue
+ memory operands.
+ (internal_syscall6): Likewise.
+ (internal_syscall7): Likewise.
+
+Index: sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h,v
+retrieving revision 1.2
+retrieving revision 1.4
+diff -u -p -r1.2 -r1.4
+--- sysdeps/unix/sysv/linux/mips/mips32/sysdep.h 18 Oct 2004 05:16:06 -0000 1.2
++++ sysdeps/unix/sysv/linux/mips/mips32/sysdep.h 28 Mar 2005 09:17:26 -0000 1.4
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
++/* Copyright (C) 2000, 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
+@@ -48,12 +48,12 @@
+ #undef INLINE_SYSCALL
+ #define INLINE_SYSCALL(name, nr, args...) \
+ ({ INTERNAL_SYSCALL_DECL(err); \
+- long result_var = INTERNAL_SYSCALL (name, err, nr, args); \
+- if ( INTERNAL_SYSCALL_ERROR_P (result_var, err) ) \
+- { \
+- __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, err)); \
+- result_var = -1L; \
+- } \
++ long result_var = INTERNAL_SYSCALL (name, err, nr, args); \
++ if ( INTERNAL_SYSCALL_ERROR_P (result_var, err) ) \
++ { \
++ __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, err)); \
++ result_var = -1L; \
++ } \
+ result_var; })
+
+ #undef INTERNAL_SYSCALL_DECL
+@@ -66,209 +66,218 @@
+ #define INTERNAL_SYSCALL_ERRNO(val, err) (val)
+
+ #undef INTERNAL_SYSCALL
+-#define INTERNAL_SYSCALL(name, err, nr, args...) internal_syscall##nr(name, err, args)
++#define INTERNAL_SYSCALL(name, err, nr, args...) \
++ internal_syscall##nr (, "li\t$2, %2\t\t\t# " #name "\n\t", \
++ "i" (SYS_ify (name)), err, args)
++
++#undef INTERNAL_SYSCALL_NCS
++#define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \
++ internal_syscall##nr (= number, , "r" (__v0), err, args)
+
+-#define internal_syscall0(name, err, dummy...) \
+-({ \
++#define internal_syscall0(ncs_init, cs_init, input, err, dummy...) \
++({ \
+ long _sys_result; \
+ \
+ { \
+- register long __v0 asm("$2"); \
+- register long __a3 asm("$7"); \
+- __asm__ volatile ( \
+- ".set\tnoreorder\n\t" \
+- "li\t$2, %2\t\t\t# " #name "\n\t" \
+- "syscall\n\t" \
+- ".set reorder" \
+- : "=r" (__v0), "=r" (__a3) \
+- : "i" (SYS_ify(name)) \
+- : __SYSCALL_CLOBBERS); \
++ register long __v0 asm("$2") ncs_init; \
++ register long __a3 asm("$7"); \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ cs_init \
++ "syscall\n\t" \
++ ".set reorder" \
++ : "=r" (__v0), "=r" (__a3) \
++ : input \
++ : __SYSCALL_CLOBBERS); \
+ err = __a3; \
+ _sys_result = __v0; \
+ } \
+ _sys_result; \
+ })
+
+-#define internal_syscall1(name, err, arg1) \
+-({ \
++#define internal_syscall1(ncs_init, cs_init, input, err, arg1) \
++({ \
+ long _sys_result; \
+ \
+ { \
+- register long __v0 asm("$2"); \
+- register long __a0 asm("$4") = (long) arg1; \
+- register long __a3 asm("$7"); \
+- __asm__ volatile ( \
+- ".set\tnoreorder\n\t" \
+- "li\t$2, %3\t\t\t# " #name "\n\t" \
+- "syscall\n\t" \
+- ".set reorder" \
+- : "=r" (__v0), "=r" (__a3) \
+- : "r" (__a0), "i" (SYS_ify(name)) \
+- : __SYSCALL_CLOBBERS); \
++ register long __v0 asm("$2") ncs_init; \
++ register long __a0 asm("$4") = (long) arg1; \
++ register long __a3 asm("$7"); \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ cs_init \
++ "syscall\n\t" \
++ ".set reorder" \
++ : "=r" (__v0), "=r" (__a3) \
++ : input, "r" (__a0) \
++ : __SYSCALL_CLOBBERS); \
+ err = __a3; \
+ _sys_result = __v0; \
+ } \
+ _sys_result; \
+ })
+
+-#define internal_syscall2(name, err, arg1, arg2) \
+-({ \
++#define internal_syscall2(ncs_init, cs_init, input, err, arg1, arg2) \
++({ \
+ long _sys_result; \
+ \
+ { \
+- register long __v0 asm("$2"); \
+- register long __a0 asm("$4") = (long) arg1; \
+- register long __a1 asm("$5") = (long) arg2; \
+- register long __a3 asm("$7"); \
+- __asm__ volatile ( \
+- ".set\tnoreorder\n\t" \
+- "li\t$2, %4\t\t\t# " #name "\n\t" \
+- "syscall\n\t" \
+- ".set\treorder" \
+- : "=r" (__v0), "=r" (__a3) \
+- : "r" (__a0), "r" (__a1), "i" (SYS_ify(name)) \
+- : __SYSCALL_CLOBBERS); \
++ register long __v0 asm("$2") ncs_init; \
++ register long __a0 asm("$4") = (long) arg1; \
++ register long __a1 asm("$5") = (long) arg2; \
++ register long __a3 asm("$7"); \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ cs_init \
++ "syscall\n\t" \
++ ".set\treorder" \
++ : "=r" (__v0), "=r" (__a3) \
++ : input, "r" (__a0), "r" (__a1) \
++ : __SYSCALL_CLOBBERS); \
+ err = __a3; \
+ _sys_result = __v0; \
+ } \
+ _sys_result; \
+ })
+
+-#define internal_syscall3(name, err, arg1, arg2, arg3) \
+-({ \
++#define internal_syscall3(ncs_init, cs_init, input, err, arg1, arg2, arg3)\
++({ \
+ long _sys_result; \
+ \
+ { \
+- register long __v0 asm("$2"); \
+- register long __a0 asm("$4") = (long) arg1; \
+- register long __a1 asm("$5") = (long) arg2; \
+- register long __a2 asm("$6") = (long) arg3; \
+- register long __a3 asm("$7"); \
+- __asm__ volatile ( \
+- ".set\tnoreorder\n\t" \
+- "li\t$2, %5\t\t\t# " #name "\n\t" \
+- "syscall\n\t" \
+- ".set\treorder" \
+- : "=r" (__v0), "=r" (__a3) \
+- : "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)) \
+- : __SYSCALL_CLOBBERS); \
++ register long __v0 asm("$2") ncs_init; \
++ register long __a0 asm("$4") = (long) arg1; \
++ register long __a1 asm("$5") = (long) arg2; \
++ register long __a2 asm("$6") = (long) arg3; \
++ register long __a3 asm("$7"); \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ cs_init \
++ "syscall\n\t" \
++ ".set\treorder" \
++ : "=r" (__v0), "=r" (__a3) \
++ : input, "r" (__a0), "r" (__a1), "r" (__a2) \
++ : __SYSCALL_CLOBBERS); \
+ err = __a3; \
+ _sys_result = __v0; \
+ } \
+ _sys_result; \
+ })
+
+-#define internal_syscall4(name, err, arg1, arg2, arg3, arg4) \
+-({ \
++#define internal_syscall4(ncs_init, cs_init, input, err, arg1, arg2, arg3, arg4)\
++({ \
+ long _sys_result; \
+ \
+ { \
+- register long __v0 asm("$2"); \
+- register long __a0 asm("$4") = (long) arg1; \
+- register long __a1 asm("$5") = (long) arg2; \
+- register long __a2 asm("$6") = (long) arg3; \
+- register long __a3 asm("$7") = (long) arg4; \
+- __asm__ volatile ( \
+- ".set\tnoreorder\n\t" \
+- "li\t$2, %5\t\t\t# " #name "\n\t" \
+- "syscall\n\t" \
+- ".set\treorder" \
+- : "=r" (__v0), "+r" (__a3) \
+- : "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)) \
+- : __SYSCALL_CLOBBERS); \
++ register long __v0 asm("$2") ncs_init; \
++ register long __a0 asm("$4") = (long) arg1; \
++ register long __a1 asm("$5") = (long) arg2; \
++ register long __a2 asm("$6") = (long) arg3; \
++ register long __a3 asm("$7") = (long) arg4; \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ cs_init \
++ "syscall\n\t" \
++ ".set\treorder" \
++ : "=r" (__v0), "+r" (__a3) \
++ : input, "r" (__a0), "r" (__a1), "r" (__a2) \
++ : __SYSCALL_CLOBBERS); \
+ err = __a3; \
+ _sys_result = __v0; \
+ } \
+ _sys_result; \
+ })
+
+-#define internal_syscall5(name, err, arg1, arg2, arg3, arg4, arg5) \
+-({ \
++/* We need to use a frame pointer for the functions in which we
++ adjust $sp around the syscall, or debug information and unwind
++ information will be $sp relative and thus wrong during the syscall. As
++ of GCC 3.4.3, this is sufficient. */
++#define FORCE_FRAME_POINTER alloca (4)
++
++#define internal_syscall5(ncs_init, cs_init, input, err, arg1, arg2, arg3, arg4, arg5)\
++({ \
+ long _sys_result; \
+ \
++ FORCE_FRAME_POINTER; \
+ { \
+- register long __v0 asm("$2"); \
+- register long __a0 asm("$4") = (long) arg1; \
+- register long __a1 asm("$5") = (long) arg2; \
+- register long __a2 asm("$6") = (long) arg3; \
+- register long __a3 asm("$7") = (long) arg4; \
+- __asm__ volatile ( \
+- ".set\tnoreorder\n\t" \
+- "lw\t$2, %6\n\t" \
+- "subu\t$29, 32\n\t" \
+- "sw\t$2, 16($29)\n\t" \
+- "li\t$2, %5\t\t\t# " #name "\n\t" \
+- "syscall\n\t" \
+- "addiu\t$29, 32\n\t" \
+- ".set\treorder" \
+- : "=r" (__v0), "+r" (__a3) \
+- : "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)), \
+- "m" ((long)arg5) \
+- : __SYSCALL_CLOBBERS); \
++ register long __v0 asm("$2") ncs_init; \
++ register long __a0 asm("$4") = (long) arg1; \
++ register long __a1 asm("$5") = (long) arg2; \
++ register long __a2 asm("$6") = (long) arg3; \
++ register long __a3 asm("$7") = (long) arg4; \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ "subu\t$29, 32\n\t" \
++ "sw\t%6, 16($29)\n\t" \
++ cs_init \
++ "syscall\n\t" \
++ "addiu\t$29, 32\n\t" \
++ ".set\treorder" \
++ : "=r" (__v0), "+r" (__a3) \
++ : input, "r" (__a0), "r" (__a1), "r" (__a2), \
++ "r" ((long)arg5) \
++ : __SYSCALL_CLOBBERS); \
+ err = __a3; \
+ _sys_result = __v0; \
+ } \
+ _sys_result; \
+ })
+
+-#define internal_syscall6(name, err, arg1, arg2, arg3, arg4, arg5, arg6)\
+-({ \
++#define internal_syscall6(ncs_init, cs_init, input, err, arg1, arg2, arg3, arg4, arg5, arg6)\
++({ \
+ long _sys_result; \
+ \
++ FORCE_FRAME_POINTER; \
+ { \
+- register long __v0 asm("$2"); \
+- register long __a0 asm("$4") = (long) arg1; \
+- register long __a1 asm("$5") = (long) arg2; \
+- register long __a2 asm("$6") = (long) arg3; \
+- register long __a3 asm("$7") = (long) arg4; \
+- __asm__ volatile ( \
+- ".set\tnoreorder\n\t" \
+- "lw\t$2, %6\n\t" \
+- "lw\t$8, %7\n\t" \
+- "subu\t$29, 32\n\t" \
+- "sw\t$2, 16($29)\n\t" \
+- "sw\t$8, 20($29)\n\t" \
+- "li\t$2, %5\t\t\t# " #name "\n\t" \
+- "syscall\n\t" \
+- "addiu\t$29, 32\n\t" \
+- ".set\treorder" \
+- : "=r" (__v0), "+r" (__a3) \
+- : "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)), \
+- "m" ((long)arg5), "m" ((long)arg6) \
+- : __SYSCALL_CLOBBERS); \
++ register long __v0 asm("$2") ncs_init; \
++ register long __a0 asm("$4") = (long) arg1; \
++ register long __a1 asm("$5") = (long) arg2; \
++ register long __a2 asm("$6") = (long) arg3; \
++ register long __a3 asm("$7") = (long) arg4; \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ "subu\t$29, 32\n\t" \
++ "sw\t%6, 16($29)\n\t" \
++ "sw\t%7, 20($29)\n\t" \
++ cs_init \
++ "syscall\n\t" \
++ "addiu\t$29, 32\n\t" \
++ ".set\treorder" \
++ : "=r" (__v0), "+r" (__a3) \
++ : input, "r" (__a0), "r" (__a1), "r" (__a2), \
++ "r" ((long)arg5), "r" ((long)arg6) \
++ : __SYSCALL_CLOBBERS); \
+ err = __a3; \
+ _sys_result = __v0; \
+ } \
+ _sys_result; \
+ })
+
+-#define internal_syscall7(name, err, arg1, arg2, arg3, arg4, arg5, arg6, arg7)\
+-({ \
++#define internal_syscall7(ncs_init, cs_init, input, err, arg1, arg2, arg3, arg4, arg5, arg6, arg7)\
++({ \
+ long _sys_result; \
+ \
++ FORCE_FRAME_POINTER; \
+ { \
+- register long __v0 asm("$2"); \
+- register long __a0 asm("$4") = (long) arg1; \
+- register long __a1 asm("$5") = (long) arg2; \
+- register long __a2 asm("$6") = (long) arg3; \
+- register long __a3 asm("$7") = (long) arg4; \
+- __asm__ volatile ( \
+- ".set\tnoreorder\n\t" \
+- "lw\t$2, %6\n\t" \
+- "lw\t$8, %7\n\t" \
+- "lw\t$9, %8\n\t" \
+- "subu\t$29, 32\n\t" \
+- "sw\t$2, 16($29)\n\t" \
+- "sw\t$8, 20($29)\n\t" \
+- "sw\t$9, 24($29)\n\t" \
+- "li\t$2, %5\t\t\t# " #name "\n\t" \
+- "syscall\n\t" \
+- "addiu\t$29, 32\n\t" \
+- ".set\treorder" \
+- : "=r" (__v0), "+r" (__a3) \
+- : "r" (__a0), "r" (__a1), "r" (__a2), "i" (SYS_ify(name)), \
+- "m" ((long)arg5), "m" ((long)arg6), "m" ((long)arg7) \
+- : __SYSCALL_CLOBBERS); \
++ register long __v0 asm("$2") ncs_init; \
++ register long __a0 asm("$4") = (long) arg1; \
++ register long __a1 asm("$5") = (long) arg2; \
++ register long __a2 asm("$6") = (long) arg3; \
++ register long __a3 asm("$7") = (long) arg4; \
++ __asm__ volatile ( \
++ ".set\tnoreorder\n\t" \
++ "subu\t$29, 32\n\t" \
++ "sw\t%6, 16($29)\n\t" \
++ "sw\t%7, 20($29)\n\t" \
++ "sw\t%8, 24($29)\n\t" \
++ cs_init \
++ "syscall\n\t" \
++ "addiu\t$29, 32\n\t" \
++ ".set\treorder" \
++ : "=r" (__v0), "+r" (__a3) \
++ : input, "r" (__a0), "r" (__a1), "r" (__a2), \
++ "r" ((long)arg5), "r" ((long)arg6), "r" ((long)arg7) \
++ : __SYSCALL_CLOBBERS); \
+ err = __a3; \
+ _sys_result = __v0; \
+ } \
Modified: glibc-package/trunk/debian/patches/glibc235-gcc4-sparc-inline.dpatch
===================================================================
--- glibc-package/trunk/debian/patches/glibc235-gcc4-sparc-inline.dpatch 2005-07-17 05:27:59 UTC (rev 951)
+++ glibc-package/trunk/debian/patches/glibc235-gcc4-sparc-inline.dpatch 2005-07-17 07:24:52 UTC (rev 952)
@@ -27,6 +27,11 @@
exit 0
# append the patch here and adjust the -p? flag in the patch calls.
+2005-07-17 GOTO Masanori <gotom@debian.org>
+
+ * sysdeps/sparc/sparc32/dl-machine.h: Use auto inline.
+ * sysdeps/sparc/sparc64/dl-machine.h: Likewise.
+
--- sysdeps/sparc/sparc32/dl-machine.h.org 2005-07-15 06:14:11.000000000 +0900
+++ sysdeps/sparc/sparc32/dl-machine.h 2005-07-15 06:59:13.000000000 +0900
@@ -411,7 +411,14 @@ elf_machine_plt_value (struct link_map *
Reply to: