Author: aurel32
Date: 2007-05-03 21:01:08 +0000 (Thu, 03 May 2007)
New Revision: 2171

Added:
   glibc-package/trunk/debian/patches/hppa/local-r19use.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
  * debian/patches/hppa/local-r19use.diff: New patch from Carlos O'Donell
    (specify r19 as input to asms that save/restore).



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog        2007-05-03 20:57:08 UTC (rev 
2170)
+++ glibc-package/trunk/debian/changelog        2007-05-03 21:01:08 UTC (rev 
2171)
@@ -13,8 +13,10 @@
     to makes glibc build with exported kernel headers.
   * debian/patches/hppa/submitted-nptl-carlos2.diff: New patch to add
     STACK_GROWS_UP case to NPTL.
+  * debian/patches/hppa/local-r19use.diff: New patch from Carlos O'Donell
+    (specify r19 as input to asms that save/restore).
 
- -- Aurelien Jarno <[EMAIL PROTECTED]>  Thu, 03 May 2007 22:55:45 +0200
+ -- Aurelien Jarno <[EMAIL PROTECTED]>  Thu, 03 May 2007 23:00:11 +0200
 
 glibc (2.5-5) unstable; urgency=low
 

Added: glibc-package/trunk/debian/patches/hppa/local-r19use.diff
===================================================================
--- glibc-package/trunk/debian/patches/hppa/local-r19use.diff   2007-05-03 
20:57:08 UTC (rev 2170)
+++ glibc-package/trunk/debian/patches/hppa/local-r19use.diff   2007-05-03 
21:01:08 UTC (rev 2171)
@@ -0,0 +1,127 @@
+Index: ports/sysdeps/unix/sysv/linux/hppa/sysdep.h
+===================================================================
+RCS file: /cvs/glibc/ports/sysdeps/unix/sysv/linux/hppa/sysdep.h,v
+retrieving revision 1.13
+diff -u -p -r1.13 sysdep.h
+--- ports/sysdeps/unix/sysv/linux/hppa/sysdep.h        2 Feb 2007 21:52:32 
-0000       1.13
++++ ports/sysdeps/unix/sysv/linux/hppa/sysdep.h        3 May 2007 06:12:20 
-0000
+@@ -1,5 +1,6 @@
+ /* Assembler macros for PA-RISC.
+-   Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
++   Copyright (C) 1999, 2001, 2002, 2003, 2007 
++   Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+    Contributed by Ulrich Drepper, <[EMAIL PROTECTED]>, August 1999.
+    Linux/PA-RISC changes by Philipp Rumpf, <[EMAIL PROTECTED]>, March 2000.
+@@ -40,7 +41,9 @@
+ # define TREG_ASM "%r4" /* Cant clobber r3, it holds framemarker */
+ # define SAVE_ASM_PIC "       copy %%r19, %" TREG_ASM "\n"
+ # define LOAD_ASM_PIC "       copy %" TREG_ASM ", %%r19\n"
+-# define USING_TREG   TREG_ASM,
++# define CLOB_TREG    TREG_ASM ,
++# define PIC_REG_DEF  register unsigned long __r19 asm("r19");
++# define PIC_REG_USE  , "r" (__r19)
+ #else
+ # define TREG %r3
+ # define SAVE_PIC(SREG) nop ASM_LINE_SEP
+@@ -49,7 +52,9 @@
+ # define TREG_ASM 
+ # define SAVE_ASM_PIC "nop \n"
+ # define LOAD_ASM_PIC "nop \n"
+-# define USING_TREG
++# define CLOB_TREG
++# define PIC_REG_DEF
++# define PIC_REG_USE
+ #endif
+ 
+ #ifdef __ASSEMBLER__
+@@ -344,7 +349,7 @@ L(pre_end):                                        
ASM_LINE_SEP    \
+    TREG is clobbered and use that register to save/restore r19
+    across the syscall. */
+ 
+-#define CALL_CLOB_REGS        "%r1", "%r2", USING_TREG \
++#define CALL_CLOB_REGS        "%r1", "%r2", CLOB_TREG \
+                       "%r20", "%r29", "%r31"
+ 
+ #undef INLINE_SYSCALL
+@@ -353,6 +358,7 @@ L(pre_end):                                        
ASM_LINE_SEP    \
+       long __sys_res;                                                 \
+       {                                                               \
+               register unsigned long __res asm("r28");                \
++              PIC_REG_DEF                                             \
+               LOAD_ARGS_##nr(args)                                    \
+               /* FIXME: HACK save/load r19 around syscall */          \
+               asm volatile(                                           \
+@@ -361,7 +367,7 @@ L(pre_end):                                        
ASM_LINE_SEP    \
+                       "       ldi %1, %%r20\n"                        \
+                       LOAD_ASM_PIC                                    \
+                       : "=r" (__res)                                  \
+-                      : "i" (SYS_ify(name)) ASM_ARGS_##nr             \
++                      : "i" (SYS_ify(name)) PIC_REG_USE ASM_ARGS_##nr \
+                       : "memory", CALL_CLOB_REGS CLOB_ARGS_##nr       \
+               );                                                      \
+               __sys_res = (long)__res;                                \
+@@ -398,6 +404,7 @@ L(pre_end):                                        
ASM_LINE_SEP    \
+       long __sys_res;                                                 \
+       {                                                               \
+               register unsigned long __res asm("r28");                \
++              PIC_REG_DEF                                             \
+               LOAD_ARGS_##nr(args)                                    \
+               /* FIXME: HACK save/load r19 around syscall */          \
+               asm volatile(                                           \
+@@ -406,7 +413,7 @@ L(pre_end):                                        
ASM_LINE_SEP    \
+                       "       ldi %1, %%r20\n"                        \
+                       LOAD_ASM_PIC                                    \
+                       : "=r" (__res)                                  \
+-                      : "i" (SYS_ify(name)) ASM_ARGS_##nr             \
++                      : "i" (SYS_ify(name)) PIC_REG_USE ASM_ARGS_##nr \
+                       : "memory", CALL_CLOB_REGS CLOB_ARGS_##nr       \
+               );                                                      \
+               __sys_res = (long)__res;                                \
+@@ -422,6 +429,7 @@ L(pre_end):                                        
ASM_LINE_SEP    \
+       long __sys_res;                                                 \
+       {                                                               \
+               register unsigned long __res asm("r28");                \
++              PIC_REG_DEF                                             \
+               LOAD_ARGS_##nr(args)                                    \
+               /* FIXME: HACK save/load r19 around syscall */          \
+               asm volatile(                                           \
+@@ -430,7 +438,7 @@ L(pre_end):                                        
ASM_LINE_SEP    \
+                       "       copy %1, %%r20\n"                       \
+                       LOAD_ASM_PIC                                    \
+                       : "=r" (__res)                                  \
+-                      : "r" (name) ASM_ARGS_##nr                      \
++                      : "r" (name) PIC_REG_USE ASM_ARGS_##nr          \
+                       : "memory", CALL_CLOB_REGS CLOB_ARGS_##nr       \
+               );                                                      \
+               __sys_res = (long)__res;                                \
+Index: ports/sysdeps/unix/sysv/linux/hppa/sysdep.c
+===================================================================
+RCS file: /cvs/glibc/ports/sysdeps/unix/sysv/linux/hppa/sysdep.c,v
+retrieving revision 1.6
+diff -u -p -r1.6 sysdep.c
+--- ports/sysdeps/unix/sysv/linux/hppa/sysdep.c        15 May 2006 00:44:14 
-0000      1.6
++++ ports/sysdeps/unix/sysv/linux/hppa/sysdep.c        3 May 2007 06:12:20 
-0000
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 1997, 1998, 2001, 2003 Free Software Foundation, Inc.
++/* Copyright (C) 1997, 1998, 2001, 2003, 2007 
++   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
+@@ -58,13 +59,14 @@ syscall (long int __sysno, ...) 
+   
+   {
+     register unsigned long int __res asm("r28");
++    PIC_REG_DEF
+     LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5)
+     asm volatile (SAVE_ASM_PIC
+                 "     ble  0x100(%%sr2, %%r0) \n"
+                 "     copy %1, %%r20          \n"
+                 LOAD_ASM_PIC
+                 : "=r" (__res)
+-                : "r" (__sysno) ASM_ARGS_6
++                : "r" (__sysno) PIC_REG_USE ASM_ARGS_6
+                 : "memory", CALL_CLOB_REGS CLOB_ARGS_6);
+     __sys_res = __res;
+   }

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series   2007-05-03 20:57:08 UTC (rev 
2170)
+++ glibc-package/trunk/debian/patches/series   2007-05-03 21:01:08 UTC (rev 
2171)
@@ -55,6 +55,7 @@
 hppa/submitted-nptl-carlos2.diff -p0
 hppa/submitted-ustat.diff -p0
 hppa/local-inlining.diff -p0
+hppa/local-r19use.diff -p0
 
 hurd-i386/cvs-futimes.diff -p1
 hurd-i386/cvs-getsid.diff -p0


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to