Author: aurel32
Date: 2010-06-15 08:08:46 +0000 (Tue, 15 Jun 2010)
New Revision: 4351

Added:
   glibc-package/trunk/debian/patches/alpha/cvs-longjmp-chk.diff
Removed:
   glibc-package/trunk/debian/patches/alpha/local-longjmp-chk.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
  * Replace patches/alpha/local-longjmp-chk.diff by upstream version
    patches/alpha/cvs-longjmp-chk.diff.



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog        2010-06-15 05:40:16 UTC (rev 
4350)
+++ glibc-package/trunk/debian/changelog        2010-06-15 08:08:46 UTC (rev 
4351)
@@ -3,8 +3,10 @@
   [ Aurelien Jarno ]
   * control.in/libc: add a Conflicts on binutils-gold (<< 2.20.1-11).
     Closes: #585937.
+  * Replace patches/alpha/local-longjmp-chk.diff by upstream version
+    patches/alpha/cvs-longjmp-chk.diff.
 
- -- Aurelien Jarno <[email protected]>  Tue, 15 Jun 2010 07:38:22 +0200
+ -- Aurelien Jarno <[email protected]>  Tue, 15 Jun 2010 10:08:01 +0200
 
 eglibc (2.11.2-1) unstable; urgency=low
 

Added: glibc-package/trunk/debian/patches/alpha/cvs-longjmp-chk.diff
===================================================================
--- glibc-package/trunk/debian/patches/alpha/cvs-longjmp-chk.diff               
                (rev 0)
+++ glibc-package/trunk/debian/patches/alpha/cvs-longjmp-chk.diff       
2010-06-15 08:08:46 UTC (rev 4351)
@@ -0,0 +1,149 @@
+ 2010-03-26  Richard Henderson  <[email protected]>
+ 
+       * sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S: New.
+ 
+diff --git a/ports/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S 
b/ports/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S
+new file mode 100644
+index 0000000..5194ed8
+--- /dev/null
++++ b/ports/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S
+@@ -0,0 +1,139 @@
++/* Copyright (C) 1992, 1994, 1997, 2006, 2010 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>
++#include <jmpbuf-offsets.h>
++
++
++      .section .rodata.str1.1,"aMS",@progbits,1
++      .type   longjmp_msg,@object
++longjmp_msg:
++      .string "longjmp causes uninitialized stack frame"
++      .size   longjmp_msg, .-longjmp_msg
++
++
++/* Jump to the position specified by ENV, causing the
++   setjmp call there to return VAL, or 1 if VAL is 0.
++   void __longjmp (__jmp_buf env, int val).  */
++      .text
++      .align  4
++      .globl  ____longjmp_chk
++      .type   ____longjmp_chk, @function
++      .usepv  ____longjmp_chk, std
++
++      cfi_startproc
++____longjmp_chk:
++      ldgp    gp, 0(pv)
++#ifdef PROF
++      .set noat
++      lda     AT, _mcount
++      jsr     AT, (AT), _mcount
++      .set at
++#endif
++
++      ldq     s2, JB_PC*8(a0)
++      mov     a0, s0
++      ldq     fp, JB_FP*8(a0)
++      mov     a1, s1
++      ldq     s3, JB_SP*8(a0)
++      cmoveq  s1, 1, s1
++
++#ifdef PTR_DEMANGLE
++      PTR_DEMANGLE(s2, t1)
++      PTR_DEMANGLE2(s3, t1)
++      PTR_DEMANGLE2(fp, t1)
++#endif
++      cmpule  t0, sp, t1
++      bne     t1, .Lfail
++
++      .align  4
++.Lok:
++      mov     s0, a0
++      mov     s1, v0
++      mov     s3, t0
++      mov     s2, ra
++      cfi_remember_state
++      cfi_def_cfa(a0, 0)
++      cfi_register(sp, t0)
++      cfi_offset(s0, JB_S0*8)
++      cfi_offset(s1, JB_S1*8)
++      cfi_offset(s2, JB_S2*8)
++      cfi_offset(s3, JB_S3*8)
++      cfi_offset(s4, JB_S4*8)
++      cfi_offset(s5, JB_S5*8)
++      cfi_offset(s3, JB_S3*8)
++      cfi_offset($f2, JB_F2*8)
++      cfi_offset($f3, JB_F3*8)
++      cfi_offset($f4, JB_F4*8)
++      cfi_offset($f5, JB_F5*8)
++      cfi_offset($f6, JB_F6*8)
++      cfi_offset($f7, JB_F7*8)
++      cfi_offset($f8, JB_F8*8)
++      cfi_offset($f9, JB_F9*8)
++      ldq     s0, JB_S0*8(a0)
++      ldq     s1, JB_S1*8(a0)
++      ldq     s2, JB_S2*8(a0)
++      ldq     s3, JB_S3*8(a0)
++      ldq     s4, JB_S4*8(a0)
++      ldq     s5, JB_S5*8(a0)
++      ldt     $f2, JB_F2*8(a0)
++      ldt     $f3, JB_F3*8(a0)
++      ldt     $f4, JB_F4*8(a0)
++      ldt     $f5, JB_F5*8(a0)
++      ldt     $f6, JB_F6*8(a0)
++      ldt     $f7, JB_F7*8(a0)
++      ldt     $f8, JB_F8*8(a0)
++      ldt     $f9, JB_F9*8(a0)
++      mov     t0, sp
++      ret
++
++      .align  4
++.Lfail:
++      cfi_restore_state
++      lda     v0, __NR_sigaltstack
++      lda     a0, 0
++      lda     a1, -32(sp)
++      lda     sp, -32(sp)
++      cfi_adjust_cfa_offset(32)
++      callsys
++      ldq     t0, 0(sp)       /* ss_sp */
++      ldl     t1, 8(sp)       /* ss_flags */
++      ldq     t2, 16(sp)      /* ss_size */
++      lda     sp, 32(sp)
++      cfi_adjust_cfa_offset(-32)
++
++      /* Without working sigaltstack we cannot perform the test.  */
++      bne     a3, .Lok
++
++      addq    t0, t2, t0      /* t0 = ss_sp + ss_size */
++      subq    t0, s3, t0      /* t0 = (ss_sp + ss_size) - new_sp */
++      cmpule  t2, t0, t0      /* t0 = (t0 >= ss_size) */
++      and     t0, t1, t0      /* t0 = (t0 >= ss_size) & (ss_flags & 
SS_ONSTACK) */
++      bne     t0, .Lok
++
++      ldah    a0, longjmp_msg(gp)     !gprelhigh
++      lda     a0, longjmp_msg(a0)     !gprellow
++#ifdef PIC
++      jsr     ra, HIDDEN_JUMPTARGET(__fortify_fail)
++#else
++      bsr     ra, HIDDEN_JUMPTARGET(__fortify_fail)   !samegp
++#endif
++      bugchk
++
++      cfi_endproc
++      .size   ____longjmp_chk, .-____longjmp_chk

Deleted: glibc-package/trunk/debian/patches/alpha/local-longjmp-chk.diff
===================================================================
--- glibc-package/trunk/debian/patches/alpha/local-longjmp-chk.diff     
2010-06-15 05:40:16 UTC (rev 4350)
+++ glibc-package/trunk/debian/patches/alpha/local-longjmp-chk.diff     
2010-06-15 08:08:46 UTC (rev 4351)
@@ -1,14 +0,0 @@
----
- ports/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S |    7 +++++++
- 1 file changed, 7 insertions(+)
-
---- /dev/null
-+++ b/ports/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S
-@@ -0,0 +1,7 @@
-+/* Jump to the position specified by ENV, causing the
-+   setjmp call there to return VAL, or 1 if VAL is 0.
-+   void __longjmp (__jmp_buf env, int val).  */
-+      
-+#warning longjmp_chk unimplemented
-+#define __longjmp ____longjmp_chk
-+#include<__longjmp.S>

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series   2010-06-15 05:40:16 UTC (rev 
4350)
+++ glibc-package/trunk/debian/patches/series   2010-06-15 08:08:46 UTC (rev 
4351)
@@ -55,7 +55,7 @@
 alpha/submitted-sock_nonblock.diff
 alpha/cvs-timer_settime.diff
 alpha/local-fcntl_h.diff
-alpha/local-longjmp-chk.diff
+alpha/cvs-longjmp-chk.diff
 alpha/local-lowlevellock.diff
 alpha/submitted-syscall.diff
 


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Reply via email to