This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

header incompatibility between i386 and x86_64


i386's sigcontext.h defines sigcontext_struct, whereas x86_64's does
not, not even in 32-bit mode.  libjava has recently started failing to
build the 32-bit libs on x86_64 because something (in glibc?) changed
in this regard.  I know it was not a change in libjava itself, because
I've just run into this same problem using a very old (early October
last year) source tree.

Could this please go in?  Thanks,

Index: ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h
	(sigcontext_struct) [__WORDSIZE == 32]: Define.

Index: sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h,v
retrieving revision 1.7
diff -u -p -r1.7 sigcontext.h
--- sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h 27 Mar 2002 11:07:44 -0000 1.7
+++ sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h 20 Jan 2006 18:03:02 -0000
@@ -70,6 +70,14 @@ struct _fpstate
   __uint32_t		padding[56];
 };
 
+#ifndef sigcontext_struct
+/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
+   we need sigcontext.  Some packages have come to rely on
+   sigcontext_struct being defined on 32-bit x86, so define this for
+   their benefit.  */
+# define sigcontext_struct sigcontext
+#endif
+
 struct sigcontext
 {
   unsigned short gs, __gsh;
-- 
Alexandre Oliva         http://www.lsd.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]