Author: aurel32
Date: 2006-08-16 16:49:11 +0000 (Wed, 16 Aug 2006)
New Revision: 1752

Removed:
   glibc-package/branches/glibc-2.4/debian/patches/hppa/submitted-sysdeps.diff
Modified:
   glibc-package/branches/glibc-2.4/debian/changelog
   glibc-package/branches/glibc-2.4/debian/patches/series
Log:
  * Remove hppa/submitted-sysdeps.diff (merged upstream).



Modified: glibc-package/branches/glibc-2.4/debian/changelog
===================================================================
--- glibc-package/branches/glibc-2.4/debian/changelog   2006-08-16 13:52:49 UTC 
(rev 1751)
+++ glibc-package/branches/glibc-2.4/debian/changelog   2006-08-16 16:49:11 UTC 
(rev 1752)
@@ -96,7 +96,7 @@
   * Remove hppa/submitted-fenv-align.diff (merged upstream).
   * Remove hppa/submitted-fpu.diff (merged upstream).
   * Remove hppa/submitted-iitlbp.diff (merged upstream).
-  * Update hppa/submitted-sysdeps.diff.
+  * Remove hppa/submitted-sysdeps.diff (merged upstream).
   * Remove hurd-i386/cvs-ioctl-pfinet.diff (merged upstream).
   * Remove hurd-i386/cvs-getresuid-dyslexia.diff (merged upstream).
   * Remove hurd-i386/cvs-posix-opts.diff (merged upstream).

Deleted: 
glibc-package/branches/glibc-2.4/debian/patches/hppa/submitted-sysdeps.diff
===================================================================
--- glibc-package/branches/glibc-2.4/debian/patches/hppa/submitted-sysdeps.diff 
2006-08-16 13:52:49 UTC (rev 1751)
+++ glibc-package/branches/glibc-2.4/debian/patches/hppa/submitted-sysdeps.diff 
2006-08-16 16:49:11 UTC (rev 1752)
@@ -1,932 +0,0 @@
-# DP: Description: Make glibc-2.3.5 compile to enable hppa sysdeps
-#                 and linuxthreads correctly again.
-# DP: Related bugs: 
-# DP: Dpatch author: Jeff Bailey <[EMAIL PROTECTED]>
-# DP: Patch author: Carlos O'Donell
-# DP: Upstream status: Pending
-# DP: Status Details: 
-# DP: Date: 2005-07-17
-
---- elf/dl-sysdep.c    2004-12-14 15:30:41.000000000 -0500
-+++ elf/dl-sysdep.c    2004-12-14 15:30:29.000000000 -0500
-@@ -89,7 +89,7 @@
- #else
-   uid_t uid = 0;
-   gid_t gid = 0;
--  unsigned int seen = 0;
-+  int seen = 0;
- # define set_seen_secure() (seen = -1)
- # ifdef HAVE_AUX_XID
- #  define set_seen(tag) (tag) /* Evaluate for the side effects.  */
---- ports/sysdeps/hppa/atomicity.h     1969-12-31 19:00:00.000000000 -0500
-+++ ports/sysdeps/hppa/atomicity.h     2003-12-08 21:25:00.000000000 -0500
-@@ -0,0 +1,55 @@
-+/* Low-level functions for atomic operations.  HP-PARISC version.
-+   Copyright (C) 1997,2001 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
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+#ifndef _ATOMICITY_H
-+#define _ATOMICITY_H  1
-+
-+#include <inttypes.h>
-+
-+#warning stub atomicity functions are not atomic
-+#warning CAO This will get implemented soon
-+
-+static inline int
-+__attribute__ ((unused))
-+exchange_and_add (volatile uint32_t *mem, int val)
-+{
-+  int result = *mem;
-+  *mem += val;
-+  return result;
-+}
-+
-+static inline void
-+__attribute__ ((unused))
-+atomic_add (volatile uint32_t *mem, int val)
-+{
-+  *mem += val;
-+}
-+
-+static inline int
-+__attribute__ ((unused))
-+compare_and_swap (volatile long int *p, long int oldval, long int newval)
-+{
-+  if (*p != oldval)
-+    return 0;
-+
-+  *p = newval;
-+  return 1;
-+}
-+
-+#endif /* atomicity.h */
---- ports/sysdeps/hppa/bits/link.h     2005-01-28 14:39:49.000000000 -0500
-+++ ports/sysdeps/hppa/bits/link.h     2005-03-01 13:42:58.000000000 -0500
-@@ -0,0 +1,63 @@
-+/* Copyright (C) 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
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+#ifndef       _LINK_H
-+# error "Never include <bits/link.h> directly; use <link.h> instead."
-+#endif
-+
-+/* Registers for entry into PLT on hppa.  */
-+typedef struct La_hppa_regs
-+{
-+  uint32_t lr_r8;
-+  uint32_t lr_r9;
-+  uint32_t lr_r10;
-+  uint32_t lr_r11;
-+  uint32_t lr_gr [8];
-+  double lr_fr [8];
-+  uint32_t lr_unat;
-+  uint32_t lr_sp;
-+} La_hppa_regs;
-+
-+/* Return values for calls from PLT on hppa.  */
-+typedef struct La_hppa_retval
-+{
-+  uint32_t lrv_r8;
-+  uint32_t lrv_r9;
-+  uint32_t lrv_r10;
-+  uint32_t lrv_r11;
-+  double lr_fr [8];
-+} La_hppa_retval;
-+
-+
-+__BEGIN_DECLS
-+
-+extern Elf32_Addr la_hppa_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
-+                                     uintptr_t *__refcook,
-+                                     uintptr_t *__defcook,
-+                                     La_hppa_regs *__regs,
-+                                     unsigned int *__flags,
-+                                     const char *__symname,
-+                                     long int *__framesizep);
-+extern unsigned int la_hppa_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
-+                                      uintptr_t *__refcook,
-+                                      uintptr_t *__defcook,
-+                                      const La_hppa_regs *__inregs,
-+                                      La_hppa_retval *__outregs,
-+                                      const char *symname);
-+
-+__END_DECLS
---- ports/sysdeps/hppa/dl-trampoline.S 1969-12-31 19:00:00.000000000 -0500
-+++ ports/sysdeps/hppa/dl-trampoline.S 2005-04-05 15:51:55.000000000 -0400
-@@ -0,0 +1,194 @@
-+/* PLT trampolines. hppa version.
-+   Copyright (C) 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
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+#include <sysdep.h>
-+
-+/* This code gets called via the .plt stub, and is used in
-+   dl-runtime.c to call the `_dl_fixup' function and then redirect 
-+   to the    address it returns. `_dl_fixup' takes two
-+   arguments, however `_dl_profile_fixup' takes a number of 
-+   parameters for use with library auditing (LA).
-+   
-+   WARNING: This template is also used by gcc's __cffc, and expects
-+   that the "bl" for _dl_runtime_resolve exist at a particular offset.
-+   Do not change this template without changing gcc, while the prefix
-+   "bl" should fix everything so gcc finds the right spot, it will
-+   slow down __cffc when it attempts to call fixup to resolve function
-+   descriptor references. Please refer to gcc/gcc/config/pa/fptr.c
-+   
-+   Enter with r19 = reloc offset, r20 = got-8, r21 = fixup ltp.  */
-+
-+      /* FAKE bl to provide gcc's __cffc with fixup loc. */
-+      .text
-+      bl      _dl_fixup, %r2
-+        .text
-+        .align 4
-+        .global _dl_runtime_resolve
-+        .type _dl_runtime_resolve,@function
-+_dl_runtime_resolve:
-+        .PROC
-+        .CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_GR=3
-+        .ENTRY
-+        /* SAVE_RP says we do */
-+        stw %rp, -20(%sp)
-+
-+      /* Save static link register */
-+      stw     %r29,-16(%sp)
-+      /* Save argument registers in the call stack frame. */
-+      stw     %r26,-36(%sp)
-+      stw     %r25,-40(%sp)
-+      stw     %r24,-44(%sp)
-+      stw     %r23,-48(%sp)
-+
-+      /* Build a call frame, and save structure pointer. */
-+      copy    %sp, %r26       /* Copy previous sp */
-+      /* Save function result address (on entry) */
-+      stwm    %r28,128(%sp)
-+
-+      /* Save floating point argument registers */
-+      ldo     -56(%sp),%r26   
-+      fstd,ma %fr4,-8(%r26)
-+      fstd,ma %fr5,-8(%r26)
-+      fstd,ma %fr6,-8(%r26)
-+      fstd    %fr7,0(%r26)
-+
-+      /* Fillin some frame info to follow ABI */
-+      stw     %r21,-32(%sp)   /* PIC register value */
-+      stw     %r26,-4(%sp)    /* Previous sp */
-+
-+      /* Set up args to fixup func, needs only two arguments  */
-+      ldw     8+4(%r20),%r26          /* (1) got[1] == struct link_map */
-+      copy    %r19,%r25               /* (2) reloc offset  */
-+
-+      /* Call the real address resolver. */
-+      bl      _dl_fixup,%rp
-+      copy    %r21,%r19               /* set fixup func ltp */
-+
-+      /* Load up the returned func descriptor */
-+      copy    %ret0, %r22
-+      copy    %ret1, %r19
-+
-+      /* Reload arguments fp args */
-+      ldo     -80(%sp),%r26
-+      fldd,ma 8(%r26),%fr7
-+      fldd,ma 8(%r26),%fr6
-+      fldd,ma 8(%r26),%fr5
-+      fldd    0(%r26),%fr4
-+
-+      /* Adjust sp, and restore function result address*/
-+      ldwm    -128(%sp),%r28
-+
-+      /* Reload static link register */
-+      ldw     -16(%sp),%r29
-+      /* Reload general args */
-+      ldw     -36(%sp),%r26
-+      ldw     -40(%sp),%r25
-+      ldw     -44(%sp),%r24
-+      ldw     -48(%sp),%r23
-+
-+      /* Jump to new function, but return to previous function */
-+      bv      %r0(%r22)
-+      ldw     -20(%sp),%rp
-+        .EXIT
-+        .PROCEND
-+      .size   _dl_runtime_resolve, . - _dl_runtime_resolve
-+
-+
-+      /* FIXME:
-+              Need to largely rewrite the bottom half of
-+              this code in order to save and restore the
-+              LA struct from the stack along with
-+              interpreted parameters.
-+      */
-+        .text
-+        .align 4
-+        .global _dl_runtime_profile
-+        .type _dl_runtime_profile,@function
-+_dl_runtime_profile:
-+        .PROC
-+        .CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_GR=3
-+        .ENTRY
-+
-+        /* SAVE_RP says we do */
-+        stw %rp, -20(%sp)
-+
-+      /* Save static link register */
-+      stw     %r29,-16(%sp)
-+      /* Save argument registers in the call stack frame. */
-+      stw     %r26,-36(%sp)
-+      stw     %r25,-40(%sp)
-+      stw     %r24,-44(%sp)
-+      stw     %r23,-48(%sp)
-+
-+      /* Build a call frame, and save structure pointer. */
-+      copy    %sp, %r26       /* Copy previous sp */
-+      /* Save function result address (on entry) */
-+      stwm    %r28,128(%sp)
-+
-+      /* Save floating point argument registers */
-+      ldo     -56(%sp),%r26   
-+      fstd,ma %fr4,-8(%r26)
-+      fstd,ma %fr5,-8(%r26)
-+      fstd,ma %fr6,-8(%r26)
-+      fstd    %fr7,0(%r26)
-+
-+      /* Fillin some frame info to follow ABI */
-+      stw     %r21,-32(%sp)   /* PIC register value */
-+      stw     %r26,-4(%sp)    /* Previous sp */
-+
-+      /* Set up args to fixup func, needs three arguments  */
-+      ldw     8+4(%r20),%r26          /* (1) got[1] == struct link_map */
-+      copy    %r19,%r25               /* (2) reloc offset  */
-+      copy    %rp,%r24                /* (3) profile_fixup needs rp */
-+
-+      /* Call the real address resolver. */
-+      bl      _dl_profile_fixup,%rp
-+      copy    %r21,%r19               /* set fixup func ltp */
-+
-+      /* Load up the returned func descriptor */
-+      copy    %ret0, %r22
-+      copy    %ret1, %r19
-+
-+      /* Reload arguments fp args */
-+      ldo     -80(%sp),%r26
-+      fldd,ma 8(%r26),%fr7
-+      fldd,ma 8(%r26),%fr6
-+      fldd,ma 8(%r26),%fr5
-+      fldd    0(%r26),%fr4
-+
-+      /* Adjust sp, and restore function result address*/
-+      ldwm    -128(%sp),%r28
-+
-+      /* Reload static link register */
-+      ldw     -16(%sp),%r29
-+      /* Reload general args */
-+      ldw     -36(%sp),%r26
-+      ldw     -40(%sp),%r25
-+      ldw     -44(%sp),%r24
-+      ldw     -48(%sp),%r23
-+
-+      /* Jump to new function, but return to previous function */
-+      bv      %r0(%r22)
-+      ldw     -20(%sp),%rp
-+        .EXIT
-+        .PROCEND
-+      .size   _dl_runtime_profile, . - _dl_runtime_profile
-+
-+
-+
---- ports/sysdeps/hppa/fpu/libm-test-ulps      2003-03-22 19:52:10.000000000 
-0500
-+++ ports/sysdeps/hppa/fpu/libm-test-ulps      2004-09-29 23:50:16.000000000 
-0400
-@@ -1,6 +1,9 @@
- # Begin of automatic generation
- 
- # atan2
-+Test "atan2 (-0.00756827042671106339, -.001792735857538728036) == 
-1.80338464113663849327153994380":
-+float: 6
-+ifloat: 6
- Test "atan2 (-0.75, -1.0) == -2.49809154479650885165983415456218025":
- float: 3
- ifloat: 3
-@@ -258,9 +261,6 @@
- ifloat: 1
- 
- # ctan
--Test "Real part of: ctan (-2 - 3 i) == 
0.376402564150424829275122113032269084e-2 - 
1.00323862735360980144635859782192726 i":
--double: 1
--idouble: 1
- Test "Imaginary part of: ctan (0.75 + 1.25 i) == 
0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 
i":
- double: 1
- idouble: 1
-@@ -479,6 +479,11 @@
- float: 1
- ifloat: 1
- 
-+# lround
-+Test "lround (1071930.0008) == 1071930":
-+double: -214511494
-+idouble: -214511494
-+
- # sincos
- Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
- double: 1
-@@ -640,8 +645,8 @@
- 
- # Maximal error of functions:
- Function: "atan2":
--float: 3
--ifloat: 3
-+float: 6
-+ifloat: 6
- 
- Function: "atanh":
- float: 1
-@@ -777,10 +782,6 @@
- float: 1
- ifloat: 1
- 
--Function: Real part of "ctan":
--double: 1
--idouble: 1
--
- Function: Imaginary part of "ctan":
- double: 1
- idouble: 1
---- ports/sysdeps/hppa/sysdep.h        2003-10-15 01:31:42.000000000 -0400
-+++ ports/sysdeps/hppa/sysdep.h        2004-11-01 01:51:58.000000000 -0500
-@@ -22,9 +22,8 @@
- #include <sys/syscall.h>
- #include "config.h"
- 
--#ifndef ASM_LINE_SEP
--#define ASM_LINE_SEP ;
--#endif
-+#undef ASM_LINE_SEP
-+#define ASM_LINE_SEP ! 
- 
- #ifdef        __ASSEMBLER__
- 
-@@ -51,13 +50,9 @@
- #define END(name)                                                           \
-   .PROCEND
- 
--
--/* If compiled for profiling, call `mcount' at the start of each function.  */
-+/* GCC does everything for us. */
- #ifdef        PROF
--/* The mcount code relies on a normal frame pointer being on the stack
--   to locate our caller, so push one just for its benefit.  */
--#define CALL_MCOUNT \
--  XXX ASM_LINE_SEP
-+#define CALL_MCOUNT 
- #else
- #define CALL_MCOUNT           /* Do nothing.  */
- #endif
---- ports/sysdeps/unix/sysv/linux/hppa/sysdep.c        2003-10-15 
01:45:16.000000000 -0400
-+++ ports/sysdeps/unix/sysv/linux/hppa/sysdep.c        2004-09-20 
14:04:24.000000000 -0400
-@@ -46,13 +46,13 @@
-   {
-     register unsigned long int __res asm("r28");
-     LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5)
--    asm volatile (STW_ASM_PIC
-+    asm volatile (SAVE_ASM_PIC
-                 "     ble  0x100(%%sr2, %%r0) \n"
-                 "     copy %1, %%r20          \n"
--                LDW_ASM_PIC
-+                LOAD_ASM_PIC
-                 : "=r" (__res)
-                 : "r" (sysnum) ASM_ARGS_6
--                : CALL_CLOB_REGS CLOB_ARGS_6);
-+                : "memory", CALL_CLOB_REGS CLOB_ARGS_6);
-     __sys_res = __res;
-   }
-   if ((unsigned long int) __sys_res >= (unsigned long int) -4095)
---- ports/sysdeps/unix/sysv/linux/hppa/sysdep.h        2003-11-03 
12:18:38.000000000 -0500
-+++ ports/sysdeps/unix/sysv/linux/hppa/sysdep.h        2005-04-05 
03:40:47.000000000 -0400
-@@ -24,26 +24,33 @@
- #include <sys/syscall.h>
- #include "config.h"
- 
--#ifndef ASM_LINE_SEP
--# define ASM_LINE_SEP ;
--#endif
-+#undef ASM_LINE_SEP
-+#define ASM_LINE_SEP ! 
- 
- #undef SYS_ify
- #define SYS_ify(syscall_name) (__NR_##syscall_name)
- 
-+/* WARNING: TREG must be a callee saves register so 
-+   that it doesn't have to be restored after a call 
-+   to another function */
- #ifdef PIC
--/* WARNING: CANNOT BE USED IN A NOP! */
--# define STW_PIC stw %r19, -32(%sr0, %sp) ASM_LINE_SEP
--# define LDW_PIC ldw -32(%sr0, %sp), %r19 ASM_LINE_SEP
--# define STW_ASM_PIC  "       copy %%r19, %%r4\n"
--# define LDW_ASM_PIC  "       copy %%r4, %%r19\n"
--# define USING_GR4    "%r4",
-+# define TREG %r3
-+# define SAVE_PIC(SREG) copy %r19, SREG ASM_LINE_SEP
-+# define LOAD_PIC(LREG) copy LREG, %r19 ASM_LINE_SEP
-+/* Inline assembly defines */
-+# 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,
- #else
--# define STW_PIC ASM_LINE_SEP
--# define LDW_PIC ASM_LINE_SEP
--# define STW_ASM_PIC  " \n"
--# define LDW_ASM_PIC  " \n"
--# define USING_GR4
-+# define TREG %r3
-+# define SAVE_PIC(SREG) nop ASM_LINE_SEP
-+# define LOAD_PIC(LREG) nop ASM_LINE_SEP
-+/* Inline assembly defines */
-+# define TREG_ASM 
-+# define SAVE_ASM_PIC "nop \n"
-+# define LOAD_ASM_PIC "nop \n"
-+# define USING_TREG
- #endif
- 
- #ifdef __ASSEMBLER__
-@@ -76,31 +83,73 @@
- 
- /* We don't want the label for the error handle to be global when we define
-    it here.  */
--#ifdef PIC
-+/*#ifdef PIC
- # define SYSCALL_ERROR_LABEL 0f
- #else
- # define SYSCALL_ERROR_LABEL syscall_error
--#endif
-+#endif*/
-+
-+/* Argument manipulation from the stack for preparing to
-+   make a syscall */
-+
-+#define DOARGS_0 /* nothing */
-+#define DOARGS_1 /* nothing */
-+#define DOARGS_2 /* nothing */
-+#define DOARGS_3 /* nothing */
-+#define DOARGS_4 /* nothing */
-+#define DOARGS_5 ldw -52(%sp), %r22           ASM_LINE_SEP
-+#define DOARGS_6 DOARGS_5 ldw -56(%sp), %r21  ASM_LINE_SEP
-+
-+#define UNDOARGS_0 /* nothing */
-+#define UNDOARGS_1 /* nothing */
-+#define UNDOARGS_2 /* nothing */
-+#define UNDOARGS_3 /* nothing */
-+#define UNDOARGS_4 /* nothing */
-+#define UNDOARGS_5 /* nothing */
-+#define UNDOARGS_6 /* nothing */
- 
- /* Define an entry point visible from C.
- 
-    There is currently a bug in gdb which prevents us from specifying
-    incomplete stabs information.  Fake some entries here which specify
-    the current source file.  */
--#define       ENTRY(name)                                             \
--      .text                                   ASM_LINE_SEP    \
--      .export C_SYMBOL_NAME(name)             ASM_LINE_SEP    \
--      .type   C_SYMBOL_NAME(name),@function   ASM_LINE_SEP    \
--      C_LABEL(name)                           ASM_LINE_SEP    \
--      CALL_MCOUNT                             ASM_LINE_SEP
-+#define       ENTRY(name)                                                     
\
-+      .text                                           ASM_LINE_SEP    \
-+      .align ALIGNARG(4)                              ASM_LINE_SEP    \
-+      .export C_SYMBOL_NAME(name)                     ASM_LINE_SEP    \
-+      .type   C_SYMBOL_NAME(name),@function           ASM_LINE_SEP    \
-+      C_LABEL(name)                                   ASM_LINE_SEP    \
-+      .PROC                                           ASM_LINE_SEP    \
-+      .CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=3     ASM_LINE_SEP    \
-+      .ENTRY                                          ASM_LINE_SEP    \
-+      /* SAVE_RP says we do */                        ASM_LINE_SEP    \
-+      stw %rp, -20(%sr0,%sp)                          ASM_LINE_SEP    \
-+      /*FIXME: Call mcount? (carefull with stack!) */
-+
-+/* Some syscall wrappers do not call other functions, and
-+   hence are classified as leaf, so add NO_CALLS for gdb */
-+#define       ENTRY_LEAF(name)                                                
\
-+      .text                                           ASM_LINE_SEP    \
-+      .align ALIGNARG(4)                              ASM_LINE_SEP    \
-+      .export C_SYMBOL_NAME(name)                     ASM_LINE_SEP    \
-+      .type   C_SYMBOL_NAME(name),@function           ASM_LINE_SEP    \
-+      C_LABEL(name)                                   ASM_LINE_SEP    \
-+      .PROC                                           ASM_LINE_SEP    \
-+      .CALLINFO FRAME=64,NO_CALLS,SAVE_RP,ENTRY_GR=3  ASM_LINE_SEP    \
-+      .ENTRY                                          ASM_LINE_SEP    \
-+      /* SAVE_RP says we do */                        ASM_LINE_SEP    \
-+      stw %rp, -20(%sr0,%sp)                          ASM_LINE_SEP    \
-+      /*FIXME: Call mcount? (carefull with stack!) */
- 
- #undef        END
- #define END(name)                                                     \
--1:                                                    ASM_LINE_SEP    \
--.size C_SYMBOL_NAME(name),1b-C_SYMBOL_NAME(name)      ASM_LINE_SEP
--
--/* If compiled for profiling, call `mcount' at the start of each function.  */
--/* No, don't bother.  gcc will put the call in for us.  */
-+      .EXIT                                           ASM_LINE_SEP    \
-+      .PROCEND                                        ASM_LINE_SEP    \
-+.size C_SYMBOL_NAME(name), .-C_SYMBOL_NAME(name)      ASM_LINE_SEP
-+
-+/* If compiled for profiling, call `mcount' at the start 
-+   of each function. No, don't bother.  gcc will put the 
-+   call in for us.  */
- #define CALL_MCOUNT           /* Do nothing.  */
- 
- /* syscall wrappers consist of
-@@ -118,14 +167,16 @@
- */
- 
- #define       PSEUDO(name, syscall_name, args)                        \
--  ENTRY (name)                                                        \
--  DO_CALL(syscall_name, args)                 ASM_LINE_SEP    \
-+  ENTRY (name)                                        ASM_LINE_SEP    \
-+  /* If necc. load args from stack */         ASM_LINE_SEP    \
-+  DOARGS_##args                                       ASM_LINE_SEP    \
-+  DO_CALL (syscall_name, args)                        ASM_LINE_SEP    \
-+  UNDOARGS_##args                             ASM_LINE_SEP    \
-   nop                                         ASM_LINE_SEP
- 
- #define ret \
--      /* Return value set by ERRNO code */    ASM_LINE_SEP    \
--      bv 0(2)                                 ASM_LINE_SEP    \
--      nop                                     ASM_LINE_SEP
-+  /* Return value set by ERRNO code */                ASM_LINE_SEP    \
-+  bv,n 0(2)                                   ASM_LINE_SEP
- 
- #undef        PSEUDO_END
- #define       PSEUDO_END(name)                                        \
-@@ -133,8 +184,10 @@
- 
- /* We don't set the errno on the return from the syscall */
- #define       PSEUDO_NOERRNO(name, syscall_name, args)                \
--  ENTRY (name)                                                        \
--  DO_CALL_NOERRNO(syscall_name, args)         ASM_LINE_SEP    \
-+  ENTRY_LEAF (name)                           ASM_LINE_SEP    \
-+  DOARGS_##args                                       ASM_LINE_SEP    \
-+  DO_CALL_NOERRNO (syscall_name, args)                ASM_LINE_SEP    \
-+  UNDOARGS_##args                             ASM_LINE_SEP    \
-   nop                                         ASM_LINE_SEP
- 
- #define ret_NOERRNO ret
-@@ -146,9 +199,11 @@
- /* This has to return the error value */
- #undef  PSEUDO_ERRVAL
- #define PSEUDO_ERRVAL(name, syscall_name, args)                       \
--      ENTRY(name)                                             \
--      DO_CALL_ERRVAL(syscall_name, args)      ASM_LINE_SEP    \
--      nop                                     ASM_LINE_SEP
-+  ENTRY_LEAF (name)                           ASM_LINE_SEP    \
-+  DOARGS_##args                                       ASM_LINE_SEP    \
-+  DO_CALL_ERRVAL (syscall_name, args)         ASM_LINE_SEP    \
-+  UNDOARGS_##args                             ASM_LINE_SEP    \
-+  nop                                         ASM_LINE_SEP
- 
- #define ret_ERRVAL ret
- 
-@@ -161,7 +216,8 @@
- #define SYSCALL_PIC_SETUP     /* Nothing.  */
- 
- 
--/* All the syscall assembly macros rely on finding the approriate
-+/* FIXME: This comment is not true.
-+ * All the syscall assembly macros rely on finding the approriate
-    SYSCALL_ERROR_LABEL or rather HANDLER. */
- 
- /* int * __errno_location(void) so you have to store your value
-@@ -209,8 +265,8 @@
-       arg 2           gr25
-       arg 3           gr24
-       arg 4           gr23
--      arg 5           -52(gr30)
--      arg 6           -56(gr30)
-+      arg 5           -52(sp)
-+      arg 6           -56(sp)
- 
-    gr22 and gr21 are caller-saves, so we can just load the arguments
-    there and generally be happy. */
-@@ -219,46 +275,48 @@
-  * is intended to mimic the if (__sys_res...)
-  * code inside INLINE_SYSCALL
-  */
-+#define NO_ERROR -0x1000
- 
- #undef        DO_CALL
- #define DO_CALL(syscall_name, args)                           \
--      DOARGS_##args                           ASM_LINE_SEP    \
--      STW_PIC                                 ASM_LINE_SEP    \
-+      copy TREG,%r1                           ASM_LINE_SEP    \
-+      copy %sp,TREG                           ASM_LINE_SEP    \
-+      /* Create a frame */                    ASM_LINE_SEP    \
-+      stwm %r1, 64(%sp)                       ASM_LINE_SEP    \
-+      stw %rp, -20(%sp)                       ASM_LINE_SEP    \
-+      stw TREG, -4(%sp)                       ASM_LINE_SEP    \
-+      /* Save r19 */                          ASM_LINE_SEP    \
-+      SAVE_PIC(TREG)                          ASM_LINE_SEP    \
-       /* Do syscall, delay loads # */         ASM_LINE_SEP    \
-       ble  0x100(%sr2,%r0)                    ASM_LINE_SEP    \
-       ldi SYS_ify (syscall_name), %r20        ASM_LINE_SEP    \
--      ldi -0x1000,%r1                         ASM_LINE_SEP    \
--      cmpb,>>=,n %r1,%ret0,0f                 ASM_LINE_SEP    \
--      /* save rp or we get lost */            ASM_LINE_SEP    \
--      stw %rp, -20(%sr0,%sp)                  ASM_LINE_SEP    \
--      /* Restore r19 from frame */            ASM_LINE_SEP    \
--      LDW_PIC                                 ASM_LINE_SEP    \
--      stw %ret0, -24(%sr0,%sp)                ASM_LINE_SEP    \
-+      ldi NO_ERROR,%r1                        ASM_LINE_SEP    \
-+      cmpb,>>=,n %r1,%ret0,L(pre_end)         ASM_LINE_SEP    \
-+      /* Restore r19 from TREG */             ASM_LINE_SEP    \
-+      LOAD_PIC(TREG) /* delay */              ASM_LINE_SEP    \
-       SYSCALL_ERROR_HANDLER                   ASM_LINE_SEP    \
--      /* create frame */                      ASM_LINE_SEP    \
--      ldo 64(%sp), %sp                        ASM_LINE_SEP    \
--      ldo -64(%sp), %sp                       ASM_LINE_SEP    \
-+      /* Use TREG for temp storage */         ASM_LINE_SEP    \
-+      copy %ret0, TREG /* delay */            ASM_LINE_SEP    \
-       /* OPTIMIZE: Don't reload r19 */        ASM_LINE_SEP    \
-       /* do a -1*syscall_ret0 */              ASM_LINE_SEP    \
--      ldw -24(%sr0,%sp), %r26                 ASM_LINE_SEP    \
--      sub %r0, %r26, %r26                     ASM_LINE_SEP    \
-+      sub %r0, TREG, TREG                     ASM_LINE_SEP    \
-       /* Store into errno location */         ASM_LINE_SEP    \
--      stw %r26, 0(%sr0,%ret0)                 ASM_LINE_SEP    \
-+      stw TREG, 0(%sr0,%ret0)                 ASM_LINE_SEP    \
-       /* return -1 as error */                ASM_LINE_SEP    \
-       ldo -1(%r0), %ret0                      ASM_LINE_SEP    \
--      ldw -20(%sr0,%sp), %rp                  ASM_LINE_SEP    \
--0:                                            ASM_LINE_SEP    \
--      UNDOARGS_##args                         ASM_LINE_SEP
-+L(pre_end):                                   ASM_LINE_SEP    \
-+      /* Restore return pointer */            ASM_LINE_SEP    \
-+      ldw -84(%sp),%rp                        ASM_LINE_SEP    \
-+      /* Restore our frame, restoring TREG */ ASM_LINE_SEP    \
-+      ldwm -64(%sp), TREG                     ASM_LINE_SEP
- 
- /* We do nothing with the return, except hand it back to someone else */
- #undef  DO_CALL_NOERRNO
- #define DO_CALL_NOERRNO(syscall_name, args)                   \
--      DOARGS_##args                                           \
-       /* No need to store r19 */              ASM_LINE_SEP    \
-       ble  0x100(%sr2,%r0)                    ASM_LINE_SEP    \
-       ldi SYS_ify (syscall_name), %r20        ASM_LINE_SEP    \
--      /* Caller will restore r19 */           ASM_LINE_SEP    \
--      UNDOARGS_##args
-+      /* Caller will restore r19 */           ASM_LINE_SEP
- 
- /* Here, we return the ERRVAL in assembly, note we don't call the
-    error handler function, but we do 'negate' the return _IF_
-@@ -266,34 +324,15 @@
- 
- #undef        DO_CALL_ERRVAL
- #define DO_CALL_ERRVAL(syscall_name, args)                    \
--      DOARGS_##args                           ASM_LINE_SEP    \
-       /* No need to store r19 */              ASM_LINE_SEP    \
-       ble  0x100(%sr2,%r0)                    ASM_LINE_SEP    \
-       ldi SYS_ify (syscall_name), %r20        ASM_LINE_SEP    \
-       /* Caller will restore r19 */           ASM_LINE_SEP    \
--      ldi -0x1000,%r1                         ASM_LINE_SEP    \
-+      ldi NO_ERROR,%r1                        ASM_LINE_SEP    \
-       cmpb,>>=,n %r1,%ret0,0f                 ASM_LINE_SEP    \
-       sub %r0, %ret0, %ret0                   ASM_LINE_SEP    \
--0:                                            ASM_LINE_SEP    \
--      UNDOARGS_##args                         ASM_LINE_SEP
-+0:                                            ASM_LINE_SEP
- 
--#define DOARGS_0 /* nothing */
--#define DOARGS_1 /* nothing */
--#define DOARGS_2 /* nothing */
--#define DOARGS_3 /* nothing */
--#define DOARGS_4 /* nothing */
--#define DOARGS_5 ldw -52(%r30), %r22          ASM_LINE_SEP
--#define DOARGS_6 ldw -52(%r30), %r22          ASM_LINE_SEP    \
--               ldw -56(%r30), %r21            ASM_LINE_SEP
--
--
--#define UNDOARGS_0 /* nothing */
--#define UNDOARGS_1 /* nothing */
--#define UNDOARGS_2 /* nothing */
--#define UNDOARGS_3 /* nothing */
--#define UNDOARGS_4 /* nothing */
--#define UNDOARGS_5 /* nothing */
--#define UNDOARGS_6 /* nothing */
- 
- #else
- 
-@@ -305,27 +344,28 @@
-    registers r20 -> r26 will conflict with the list so they
-    are treated specially. Although r19 is clobbered by the syscall
-    we cannot say this because it would violate ABI, thus we say
--   r4 is clobbered and use that register to save/restore r19
-+   TREG is clobbered and use that register to save/restore r19
-    across the syscall. */
- 
--#define CALL_CLOB_REGS        "%r1", "%r2", USING_GR4 \
-+#define CALL_CLOB_REGS        "%r1", "%r2", USING_TREG \
-                       "%r20", "%r29", "%r31"
- 
- #undef INLINE_SYSCALL
--#define INLINE_SYSCALL(name, nr, args...)     ({                      \
-+#define INLINE_SYSCALL(name, nr, args...)                             \
-+({                                                                    \
-       long __sys_res;                                                 \
-       {                                                               \
-               register unsigned long __res asm("r28");                \
-               LOAD_ARGS_##nr(args)                                    \
--              /* FIXME: HACK stw/ldw r19 around syscall */            \
-+              /* FIXME: HACK save/load r19 around syscall */          \
-               asm volatile(                                           \
--                      STW_ASM_PIC                                     \
-+                      SAVE_ASM_PIC                                    \
-                       "       ble  0x100(%%sr2, %%r0)\n"              \
-                       "       ldi %1, %%r20\n"                        \
--                      LDW_ASM_PIC                                     \
-+                      LOAD_ASM_PIC                                    \
-                       : "=r" (__res)                                  \
-                       : "i" (SYS_ify(name)) ASM_ARGS_##nr             \
--                      : CALL_CLOB_REGS CLOB_ARGS_##nr                 \
-+                      : "memory", CALL_CLOB_REGS CLOB_ARGS_##nr       \
-               );                                                      \
-               __sys_res = (long)__res;                                \
-       }                                                               \
-@@ -339,8 +379,8 @@
- /* INTERNAL_SYSCALL_DECL - Allows us to setup some function static
-    value to use within the context of the syscall
-    INTERNAL_SYSCALL_ERROR_P - Returns 0 if it wasn't an error, 1 otherwise
--   You are allowed to use the syscall result (val) and the DECL error variable
--   to determine what went wrong.
-+   You are allowed to use the syscall result (val) and the DECL error 
-+   variable to determine what went wrong.
-    INTERLAL_SYSCALL_ERRNO - Munges the val/err pair into the error number.
-    In our case we just flip the sign. */
- 
-@@ -357,46 +397,46 @@
- 
- /* Similar to INLINE_SYSCALL but we don't set errno */
- #undef INTERNAL_SYSCALL
--#define INTERNAL_SYSCALL(name, err, nr, args...)              \
--({                                                            \
--      long __sys_res;                                         \
--      {                                                       \
--              register unsigned long __res asm("r28");        \
--              LOAD_ARGS_##nr(args)                            \
--              /* FIXME: HACK stw/ldw r19 around syscall */    \
--              asm volatile(                                   \
--                      STW_ASM_PIC                             \
--                      "       ble  0x100(%%sr2, %%r0)\n"      \
--                      "       ldi %1, %%r20\n"                \
--                      LDW_ASM_PIC                             \
--                      : "=r" (__res)                          \
--                      : "i" (SYS_ify(name)) ASM_ARGS_##nr     \
--                      : CALL_CLOB_REGS CLOB_ARGS_##nr         \
--              );                                              \
--              __sys_res = (long)__res;                        \
--      }                                                       \
--      __sys_res;                                              \
-+#define INTERNAL_SYSCALL(name, err, nr, args...)                      \
-+({                                                                    \
-+      long __sys_res;                                                 \
-+      {                                                               \
-+              register unsigned long __res asm("r28");                \
-+              LOAD_ARGS_##nr(args)                                    \
-+              /* FIXME: HACK save/load r19 around syscall */          \
-+              asm volatile(                                           \
-+                      SAVE_ASM_PIC                                    \
-+                      "       ble  0x100(%%sr2, %%r0)\n"              \
-+                      "       ldi %1, %%r20\n"                        \
-+                      LOAD_ASM_PIC                                    \
-+                      : "=r" (__res)                                  \
-+                      : "i" (SYS_ify(name)) ASM_ARGS_##nr             \
-+                      : "memory", CALL_CLOB_REGS CLOB_ARGS_##nr       \
-+              );                                                      \
-+              __sys_res = (long)__res;                                \
-+      }                                                               \
-+      __sys_res;                                                      \
-  })
- 
- #define LOAD_ARGS_0()
--#define LOAD_ARGS_1(r26)                                      \
--      register unsigned long __r26 __asm__("r26") = (unsigned long)(r26);   \
--      LOAD_ARGS_0()
--#define LOAD_ARGS_2(r26,r25)                                  \
--      register unsigned long __r25 __asm__("r25") = (unsigned long)(r25);   \
--      LOAD_ARGS_1(r26)
--#define LOAD_ARGS_3(r26,r25,r24)                              \
--      register unsigned long __r24 __asm__("r24") = (unsigned long)(r24);   \
--      LOAD_ARGS_2(r26,r25)
--#define LOAD_ARGS_4(r26,r25,r24,r23)                          \
--      register unsigned long __r23 __asm__("r23") = (unsigned long)(r23);   \
--      LOAD_ARGS_3(r26,r25,r24)
--#define LOAD_ARGS_5(r26,r25,r24,r23,r22)                      \
--      register unsigned long __r22 __asm__("r22") = (unsigned long)(r22);   \
--      LOAD_ARGS_4(r26,r25,r24,r23)
--#define LOAD_ARGS_6(r26,r25,r24,r23,r22,r21)                  \
--      register unsigned long __r21 __asm__("r21") = (unsigned long)(r21);   \
--      LOAD_ARGS_5(r26,r25,r24,r23,r22)
-+#define LOAD_ARGS_1(r26)                                              \
-+  register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \
-+  LOAD_ARGS_0()
-+#define LOAD_ARGS_2(r26,r25)                                          \
-+  register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \
-+  LOAD_ARGS_1(r26)
-+#define LOAD_ARGS_3(r26,r25,r24)                                      \
-+  register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \
-+  LOAD_ARGS_2(r26,r25)
-+#define LOAD_ARGS_4(r26,r25,r24,r23)                                  \
-+  register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \
-+  LOAD_ARGS_3(r26,r25,r24)
-+#define LOAD_ARGS_5(r26,r25,r24,r23,r22)                              \
-+  register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \
-+  LOAD_ARGS_4(r26,r25,r24,r23)
-+#define LOAD_ARGS_6(r26,r25,r24,r23,r22,r21)                          \
-+  register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \
-+  LOAD_ARGS_5(r26,r25,r24,r23,r22)
- 
- /* Even with zero args we use r20 for the syscall number */
- #define ASM_ARGS_0
---- sysdeps/unix/sysv/linux/posix_fadvise.c    2003-08-16 20:36:22.000000000 
-0400
-+++ sysdeps/unix/sysv/linux/posix_fadvise.c    2004-09-26 22:45:33.000000000 
-0400
-@@ -35,6 +35,19 @@
-     return INTERNAL_SYSCALL_ERRNO (ret, err);
-   return 0;
- #else
-+# ifdef __NR_fadvise64_64
-+  INTERNAL_SYSCALL_DECL (err);  
-+  int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
-+                            __LONG_LONG_PAIR ((long) (offset >> 31),
-+                                              (long) offset),
-+                            __LONG_LONG_PAIR ((long) (len >> 31),
-+                                              (long) len),
-+                            advise);
-+  if (INTERNAL_SYSCALL_ERROR_P (ret, err))
-+    return INTERNAL_SYSCALL_ERRNO (ret, err);
-+  return 0;
-+# else
-   return ENOSYS;
-+# endif
- #endif
- }
---- ports/sysdeps/hppa/dl-lookupcfg.h  2005-05-15 20:36:10.383193082 -0600
-+++ ports/sysdeps/hppa/dl-lookupcfg.h  2005-05-15 21:44:07.543952666 -0600
-@@ -63,3 +63,15 @@
-   ((Elf32_Addr)(addr) & 2 ? (addr) : DL_AUTO_FUNCTION_ADDRESS (map, addr))
- #define DL_DT_FINI_ADDRESS(map, addr) \
-   ((Elf32_Addr)(addr) & 2 ? (addr) : DL_AUTO_FUNCTION_ADDRESS (map, addr))
-+
-+/* The type of the return value of fixup/profile_fixup */
-+#define DL_FIXUP_VALUE_TYPE struct fdesc
-+
-+/* Construct a fixup value from the address and linkmap */
-+#define DL_FIXUP_MAKE_VALUE(map, addr) \
-+   ((struct fdesc) { (addr), (map)->l_info[DT_PLTGOT]->d_un.d_ptr })
-+
-+/* Extract the code address from a fixup value */
-+#define DL_FIXUP_VALUE_CODE_ADDR(value) ((value).ip)
-+#define DL_FIXUP_VALUE_ADDR(value) ((uintptr_t) &(value))
-+#define DL_FIXUP_ADDR_VALUE(addr) (*(struct fdesc *) (addr))

Modified: glibc-package/branches/glibc-2.4/debian/patches/series
===================================================================
--- glibc-package/branches/glibc-2.4/debian/patches/series      2006-08-16 
13:52:49 UTC (rev 1751)
+++ glibc-package/branches/glibc-2.4/debian/patches/series      2006-08-16 
16:49:11 UTC (rev 1752)
@@ -59,7 +59,6 @@
 hppa/local-Rminkernel.diff -p0
 hppa/submitted-drop-utimes.diff -p1
 hppa/submitted-lt.diff -p1
-#hppa/submitted-sysdeps.diff -p0
 hppa/cvs-pie-relocs.diff -p0
 hppa/local-inlining.diff -p0
 


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

Reply via email to