Bug#318429: #318429: libc6.1-dev: failure with g++-4.0 caused by ucontext.h
tag 318429 + patch
close 318429 2.3.4-1
thanks
Moi!
Upstream has fixed the compile-time breakage in sys/ucontext.h with g++
4.0 in ia64 in 2.3.4, so the 2.3.5 packages in experimental are not
affected. The attached patch should do the trick for 2.3.2.ds1-22 in
sid.
Regards,
Daniel.
#! /bin/sh -e
# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Fix build breakage with g++ >= 3.5.
# DP: Related bugs: #318429
# DP: Dpatch author: Daniel Kobras
# DP: Patch author: Andreas Schwab
# DP: Upstream status: In CVS
# DP: Status Details:
# DP: Date: 2005-07-22
PATCHLEVEL=0
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 -p$PATCHLEVEL < $0;;
-unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;;
*)
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.
2004-09-01 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h [g++ >= 3.5]: Use
__builtin_offsetof.
Index: sysdeps/unix/sysv/linux/ia64/sys/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
--- sysdeps/unix/sysv/linux/ia64/sys/ucontext.h 19 Jun 2002 07:22:14 -0000 1.7
+++ 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
Reply to: