[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r1752 - in glibc-package/branches/glibc-2.4/debian: . patches patches/hppa



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 <jbailey@ubuntu.com>
-# 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
 



Reply to: