On Wed, Aug 03, 2005 at 09:58:32PM -0400, Nathanael Nerode wrote: > If glibc in unstable doesn't require significant fixes to build with gcc-4.0, > it really would be a good idea to backport the fix for this bug and the > rpc/xdr.h one.
I started to try this but gave up quite quickly; the problem seems to be more related to new versions of binutils than the newer gcc. I forward ported about 5 changes before I gave up. The ucontext change is quite trivial ... see attached. I just applied it straight to my sys/ucontext.h and I'm up and running :) If I built libc in a stable chroot (i.e. the older toolchain) with this patch would that help anyone? > If it does require significant fixes, perhaps you could suggest to the > release team that ia64 be dropped from consideration for packages migrating > to "testing". That's the only other way I can see to avoid tying most > of the C++ transition to the glibc transition (which is clearly a bad idea). It seems that the modern toolchain has left the old glibc versions too far behind to bother with updating. Maybe having the glibc transistion go hand in hand with the C++ transision is just something we'll have to put up with. -i [EMAIL PROTECTED] http://www.gelato.unsw.edu.au
#! /bin/sh -e # All lines beginning with `# DP:' are a description of the patch. # DP: Description: fix ucontext.h for IA64 with later gcc versions # DP: Related bugs: #284449 # DP: Dpatch author: Ian Wienand <[EMAIL PROTECTED]> # DP: Patch author: Andreas Schwab <[EMAIL PROTECTED]> # DP: Upstream status: In upstream if [ $# -ne 2 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch -d "$2" -f --no-backup-if-mismatch -p4 < $0;; -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p4 < $0;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 esac exit 0 Index: ucontext.h =================================================================== RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /cvs/glibc/libc/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h 19 Jun 2002 07:22:14 -0000 1.7 +++ /cvs/glibc/libc/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h 2 Sep 2004 03:40:06 -0000 1.8 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 2000, 2001, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000, 2001, 2002, 2004 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 @@ -32,7 +32,10 @@ typedef struct sigcontext mcontext_t; -#ifdef __GNUC__ +#if defined __cplusplus && __GNUC_PREREQ (3, 5) +# define _SC_GR0_OFFSET \ + __builtin_offsetof (struct sigcontext, sc_gr[0]) +#elif defined __GNUC__ # define _SC_GR0_OFFSET \ (((char *) &((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0) #else
signature.asc
Description: Digital signature