Hi Joel, the patch is already applied in gcc-4.1 and gcj-4.1. Fixed in today's gcc-4.0 upload as well. I think we shouldn't care too much about gcj-4.0 at this point (will build and upload when time permits it).
Matthias Joel Soete writes: > Hello Matthias, > > Personaly I don't care of gcj but well glibc and according to jda's mail > <http://gcc.gnu.org/ml/gcc-patches/2006-03/msg00815.html> this patch > would fix the mentioned pb for all gcc 4.x > > This is well comitted upstream, I check with some script like: > svn diff --old http://gcc.gnu.org/svn/gcc/tags/gcc_4_0_3_release \ > --new http://gcc.gnu.org/svn/gcc/branches/gcc-4_0-branch \ > > Gcc-4.0-br.diff-$(date +'%Y%m%d') > > but I didn't find yet integrated neither in gcc-4.1 nor gcc-4.0 debian pkg? > > I so tested the attached patch with gcc-4.0 (afaik the default build > tool for glibc6) and it makes well its job ;-) > > Thanks in advance, > Joel > > #! /bin/sh -e > > # DP: * /From/: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca> > # DP: The enclosed change fixes debian bug #353346. > # DP: See following msg for fully detailed info: > # DP: <http://gcc.gnu.org/ml/gcc-patches/2006-03/msg00815.html> > > # remove the next line > > dir= > if [ $# -eq 3 -a "$2" = '-d' ]; then > pdir="-d $3" > dir="$3/" > elif [ $# -ne 1 ]; then > echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" > exit 1 > fi > case "$1" in > -patch) > patch $pdir -f --no-backup-if-mismatch -p0 < $0 > #cd ${dir}gcc && autoconf > ;; > -unpatch) > patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 > #rm ${dir}gcc/configure > ;; > *) > echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" > exit 1 > esac > exit 0 > > # append the patch here and adjust the -p? flag in the patch calls. > --- gcc/config/pa/pa32-linux.h (.../tags/gcc_4_0_3_release) > (revision 113035) > +++ gcc/config/pa/pa32-linux.h (.../branches/gcc-4_0-branch) > (revision 113035) > @@ -1,5 +1,5 @@ > /* Definitions for PA_RISC with ELF-32 format > - Copyright (C) 2000, 2002, 2004 Free Software Foundation, Inc. > + Copyright (C) 2000, 2002, 2004, 2006 Free Software Foundation, Inc. > > This file is part of GCC. > > @@ -36,4 +36,26 @@ > aligned(sizeof(func_ptr)))) \ > = { (func_ptr) (-1) } > > +/* This is a PIC version of CRT_CALL_STATIC_FUNCTION. The PIC > + register has to be saved before the call and restored after > + the call. We assume that register %r4 is available for this > + purpose. The hack prevents GCC from deleting the restore. */ > +#ifdef CRTSTUFFS_O > +#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \ > +static void __attribute__((__used__)) \ > +call_ ## FUNC (void) \ > +{ \ > + asm (SECTION_OP); \ > + asm volatile ("bl " #FUNC ",%%r2\n\t" \ > + "copy %%r19,%%r4\n\t" \ > + "copy %%r4,%%r19\n" \ > + : \ > + : \ > + : "r1", "r2", "r4", "r20", "r21", \ > + "r22", "r23", "r24", "r25", "r26", \ > + "r27", "r28", "r29", "r31"); \ > + asm (TEXT_SECTION_ASM_OP); \ > +} > +#endif > + > #define MD_UNWIND_SUPPORT "config/pa/linux-unwind.h" -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]