Commit a7475ab1 by Hans-Peter Nilsson Committed by Hans-Peter Nilsson

inclhack.def (libc1_G_va_list): New fix.

	* fixinc/inclhack.def (libc1_G_va_list): New fix.
	* fixinc/fixincl.x: Regenerate.
	* config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
	ifndef IN_LIBGCC2.  Wrap it together with signal.h and
	sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
	* configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
	* config.in, configure: Regenerate.

From-SVN: r58510
parent 7a360cce
2002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
* fixinc/inclhack.def (libc1_G_va_list): New fix.
* fixinc/fixincl.x: Regenerate.
* config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
ifndef IN_LIBGCC2. Wrap it together with signal.h and
sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
* configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
* config.in, configure: Regenerate.
2002-10-24 Igor Shevlyakov <igor@microunity.com> 2002-10-24 Igor Shevlyakov <igor@microunity.com>
* varasm.c (struct rtx_const): Array size 16 for V16QImode. * varasm.c (struct rtx_const): Array size 16 for V16QImode.
......
...@@ -441,6 +441,9 @@ ...@@ -441,6 +441,9 @@
#undef HAVE_DECL_ERRNO #undef HAVE_DECL_ERRNO
/* Define to 1 if we found this declaration otherwise define to 0. */ /* Define to 1 if we found this declaration otherwise define to 0. */
#undef HAVE_DECL_VASPRINTF
/* Define to 1 if we found this declaration otherwise define to 0. */
#undef HAVE_DECL_MALLOC #undef HAVE_DECL_MALLOC
/* Define to 1 if we found this declaration otherwise define to 0. */ /* Define to 1 if we found this declaration otherwise define to 0. */
......
...@@ -230,9 +230,13 @@ Boston, MA 02111-1307, USA. */ ...@@ -230,9 +230,13 @@ Boston, MA 02111-1307, USA. */
state data appropriately. See unwind-dw2.c for the structs. */ state data appropriately. See unwind-dw2.c for the structs. */
#ifdef IN_LIBGCC2 #ifdef IN_LIBGCC2
/* There's no sys/ucontext.h for some (all?) libc1, so no
signal-turned-exceptions for them. There's also no configure-run for
the target, so we can't check on (e.g.) HAVE_SYS_UCONTEXT_H. Using the
target libc1 macro should be enough. */
#ifndef USE_GNULIBC_1
#include <signal.h> #include <signal.h>
#include <sys/ucontext.h> #include <sys/ucontext.h>
#endif
#define MD_FALLBACK_FRAME_STATE_FOR(CONTEXT, FS, SUCCESS) \ #define MD_FALLBACK_FRAME_STATE_FOR(CONTEXT, FS, SUCCESS) \
do { \ do { \
...@@ -287,3 +291,5 @@ Boston, MA 02111-1307, USA. */ ...@@ -287,3 +291,5 @@ Boston, MA 02111-1307, USA. */
(FS)->retaddr_column = 8; \ (FS)->retaddr_column = 8; \
goto SUCCESS; \ goto SUCCESS; \
} while (0) } while (0)
#endif /* not USE_GNULIBC_1 */
#endif /* IN_LIBGCC2 */
...@@ -697,7 +697,7 @@ saved_CFLAGS="$CFLAGS" ...@@ -697,7 +697,7 @@ saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include" CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include"
gcc_AC_CHECK_DECLS(getenv atol sbrk abort atof getcwd getwd \ gcc_AC_CHECK_DECLS(getenv atol sbrk abort atof getcwd getwd \
strsignal putc_unlocked fputs_unlocked fwrite_unlocked \ strsignal putc_unlocked fputs_unlocked fwrite_unlocked \
fprintf_unlocked strstr errno \ fprintf_unlocked strstr errno vasprintf \
malloc realloc calloc free basename getopt clock, , ,[ malloc realloc calloc free basename getopt clock, , ,[
#include "ansidecl.h" #include "ansidecl.h"
#include "system.h"]) #include "system.h"])
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* files which are fixed to work correctly with ANSI C and placed in a * files which are fixed to work correctly with ANSI C and placed in a
* directory that GNU C will search. * directory that GNU C will search.
* *
* This file contains 147 fixup descriptions. * This file contains 148 fixup descriptions.
* *
* See README for more information. * See README for more information.
* *
...@@ -2575,6 +2575,43 @@ extern [a-z_]+ mem.*(\n\ ...@@ -2575,6 +2575,43 @@ extern [a-z_]+ mem.*(\n\
/* * * * * * * * * * * * * * * * * * * * * * * * * * /* * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Description of Libc1_G_Va_List fix
*/
tSCC zLibc1_G_Va_ListName[] =
"libc1_G_va_list";
/*
* File name selection pattern
*/
tSCC zLibc1_G_Va_ListList[] =
"|_G_config.h|";
/*
* Machine/OS name selection pattern
*/
tSCC* apzLibc1_G_Va_ListMachs[] = {
"*-*-linux*libc1",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zLibc1_G_Va_ListSelect0[] =
"typedef void \\* _G_va_list;";
#define LIBC1_G_VA_LIST_TEST_CT 1
static tTestDesc aLibc1_G_Va_ListTests[] = {
{ TT_EGREP, zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Libc1_G_Va_List
*/
static const char* apzLibc1_G_Va_ListPatch[] = {
"format",
"typedef __builtin_va_list _G_va_list;",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Limits_Ifndefs fix * Description of Limits_Ifndefs fix
*/ */
tSCC zLimits_IfndefsName[] = tSCC zLimits_IfndefsName[] =
...@@ -5745,9 +5782,9 @@ static const char* apzX11_SprintfPatch[] = { ...@@ -5745,9 +5782,9 @@ static const char* apzX11_SprintfPatch[] = {
* *
* List of all fixes * List of all fixes
*/ */
#define REGEX_COUNT 154 #define REGEX_COUNT 155
#define MACH_LIST_SIZE_LIMIT 279 #define MACH_LIST_SIZE_LIMIT 279
#define FIX_COUNT 147 #define FIX_COUNT 148
/* /*
* Enumerate the fixes * Enumerate the fixes
...@@ -5817,6 +5854,7 @@ typedef enum { ...@@ -5817,6 +5854,7 @@ typedef enum {
ISC_OMITS_WITH_STDC_FIXIDX, ISC_OMITS_WITH_STDC_FIXIDX,
KANDR_CONCAT_FIXIDX, KANDR_CONCAT_FIXIDX,
LIBC1_IFDEFD_MEMX_FIXIDX, LIBC1_IFDEFD_MEMX_FIXIDX,
LIBC1_G_VA_LIST_FIXIDX,
LIMITS_IFNDEFS_FIXIDX, LIMITS_IFNDEFS_FIXIDX,
LYNX_VOID_INT_FIXIDX, LYNX_VOID_INT_FIXIDX,
LYNXOS_FCNTL_PROTO_FIXIDX, LYNXOS_FCNTL_PROTO_FIXIDX,
...@@ -6223,6 +6261,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { ...@@ -6223,6 +6261,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aLibc1_Ifdefd_MemxTests, apzLibc1_Ifdefd_MemxPatch, 0 }, aLibc1_Ifdefd_MemxTests, apzLibc1_Ifdefd_MemxPatch, 0 },
{ zLibc1_G_Va_ListName, zLibc1_G_Va_ListList,
apzLibc1_G_Va_ListMachs,
LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aLibc1_G_Va_ListTests, apzLibc1_G_Va_ListPatch, 0 },
{ zLimits_IfndefsName, zLimits_IfndefsList, { zLimits_IfndefsName, zLimits_IfndefsList,
apzLimits_IfndefsMachs, apzLimits_IfndefsMachs,
LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
......
...@@ -1519,6 +1519,21 @@ fix = { ...@@ -1519,6 +1519,21 @@ fix = {
/* /*
* Fix libc1 _G_va_list definition, used in declarations of several
* more-or-less standard functions, for example vasprintf.
*/
fix = {
hackname = libc1_G_va_list;
files = _G_config.h;
mach = '*-*-linux*libc1';
select = 'typedef void \* _G_va_list;';
c_fix = format;
c_fix_arg = "typedef __builtin_va_list _G_va_list;";
test_text = 'typedef __builtin_va_list _G_va_list;';
};
/*
* In limits.h, put #ifndefs around things that are supposed to be defined * In limits.h, put #ifndefs around things that are supposed to be defined
* in float.h to avoid redefinition errors if float.h is included first. * in float.h to avoid redefinition errors if float.h is included first.
* On HP/UX this patch does not work, because on HP/UX limits.h uses * On HP/UX this patch does not work, because on HP/UX limits.h uses
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment