[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patches] Fix ARM EABI jmpbuf-offsets.h



If glibc is configured for ARM EABI, but not using --without-fp, then
fpu/ sysdeps directories will be picked up; in particular,
sysdeps/arm/fpu/, which contains old FPA files.  Most of these are
overridden by sysdeps/arm/eabi/, but jmpbuf-offsets.h isn't, which
means the wrong value of __JMP_BUF_SP is picked up; this causes
several cancellation tests to fail in such a configuration.  Fixed by
adding sysdeps/arm/eabi/jmpbuf-offsets.h to give a correct value for
this macro.  (The value happens to be the same as that in
sysdeps/arm/, but that's coincidental since there are separate
setjmp/longjmp implementations, so I chose a separate header rather
than one including <sysdeps/arm/jmpbuf-offsets.h>.)

Applied to EGLIBC trunk and 2.5 branch.  Will be submitted for FSF
glibc.

2006-11-09  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>

	* sysdeps/arm/eabi/jmpbuf-offsets.h: New.

Index: sysdeps/arm/eabi/jmpbuf-offsets.h
===================================================================
--- sysdeps/arm/eabi/jmpbuf-offsets.h	(revision 0)
+++ sysdeps/arm/eabi/jmpbuf-offsets.h	(revision 0)
@@ -0,0 +1,20 @@
+/* Private macros for accessing __jmp_buf contents.  ARM EABI version.
+   Copyright (C) 2006 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.  */
+
+#define __JMP_BUF_SP		8

-- 
Joseph S. Myers
joseph@xxxxxxxxxxxxxxxx