Author: aurel32 Date: 2010-09-01 07:54:50 +0000 (Wed, 01 Sep 2010) New Revision: 4398
Added: glibc-package/trunk/debian/patches/alpha/local-longjmp-chk.diff Removed: glibc-package/trunk/debian/patches/alpha/cvs-longjmp-chk.diff Modified: glibc-package/trunk/debian/changelog glibc-package/trunk/debian/patches/series Log: * Remove patches/alpha/cvs-longjmp-chk.diff and restore patches/alpha/local-longjmp-chk.diff as the upstream version causes regressions. Modified: glibc-package/trunk/debian/changelog =================================================================== --- glibc-package/trunk/debian/changelog 2010-09-01 07:36:11 UTC (rev 4397) +++ glibc-package/trunk/debian/changelog 2010-09-01 07:54:50 UTC (rev 4398) @@ -39,6 +39,9 @@ Earlier versions corrupts libc 2.11 libraries. Closes: #593966. * Add alpha/submitted-epoll.diff and sparc/submitted-epoll.diff to fix epoll_create1() on Alpha and SPARC. Closes: #576826. + * Remove patches/alpha/cvs-longjmp-chk.diff and restore + patches/alpha/local-longjmp-chk.diff as the upstream version causes + regressions. * Add any/cvs-sunrpc-license.diff from upstream to fix the license of Sun RPC: contrary to what Simon Phipps announced on his blog, and according to the lawyers, the copy in glibc wasn't contained in the Deleted: glibc-package/trunk/debian/patches/alpha/cvs-longjmp-chk.diff =================================================================== --- glibc-package/trunk/debian/patches/alpha/cvs-longjmp-chk.diff 2010-09-01 07:36:11 UTC (rev 4397) +++ glibc-package/trunk/debian/patches/alpha/cvs-longjmp-chk.diff 2010-09-01 07:54:50 UTC (rev 4398) @@ -1,149 +0,0 @@ - 2010-03-26 Richard Henderson <r...@redhat.com> - - * 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 Added: glibc-package/trunk/debian/patches/alpha/local-longjmp-chk.diff =================================================================== --- glibc-package/trunk/debian/patches/alpha/local-longjmp-chk.diff (rev 0) +++ glibc-package/trunk/debian/patches/alpha/local-longjmp-chk.diff 2010-09-01 07:54:50 UTC (rev 4398) @@ -0,0 +1,14 @@ +--- + 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-09-01 07:36:11 UTC (rev 4397) +++ glibc-package/trunk/debian/patches/series 2010-09-01 07:54:50 UTC (rev 4398) @@ -55,7 +55,7 @@ alpha/submitted-sock_nonblock.diff alpha/cvs-timer_settime.diff alpha/local-fcntl_h.diff -alpha/cvs-longjmp-chk.diff +alpha/local-longjmp-chk.diff alpha/local-lowlevellock.diff alpha/submitted-epoll.diff alpha/submitted-syscall.diff -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1oqi9k-00067e...@alioth.debian.org