Commit d4f076c9 by David Edelsohn Committed by David Edelsohn

inclhack.def (aix_stdlib_malloc): New fix.

* inclhack.def (aix_stdlib_malloc): New fix.
(aix_stdlib_realloc): New fix.
(aix_stdlib_calloc): New fix.
(aix_stdlib_valloc): New fix.
* fixincl.x: Regenerate.
* test/base/stdlib.h [AIX_STDLIB_MALLOC]: New test.
[AIX_STDLIB_REALLOC]: New test.
[AIX_STDLIB_CALLOC]: New test.
[AIX_STDLIB_VALLOC]: New test.

From-SVN: r237394
parent 0ac249bf
2016-06-13 David Edelsohn <dje.gcc@gmail.com>
* inclhack.def (aix_stdlib_malloc): New fix.
(aix_stdlib_realloc): New fix.
(aix_stdlib_calloc): New fix.
(aix_stdlib_valloc): New fix.
* fixincl.x: Regenerate.
* tests/base/stdlib.h [AIX_STDLIB_MALLOC]: New test.
[AIX_STDLIB_REALLOC]: New test.
[AIX_STDLIB_CALLOC]: New test.
[AIX_STDLIB_VALLOC]: New test.
2016-01-31 John David Anglin <danglin@gcc.gnu.org> 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
PR target/68741 PR target/68741
......
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
* *
* DO NOT EDIT THIS FILE (fixincl.x) * DO NOT EDIT THIS FILE (fixincl.x)
* *
* It has been AutoGen-ed Sunday January 31, 2016 at 07:52:05 PM EST * It has been AutoGen-ed June 10, 2016 at 12:56:52 PM by AutoGen 5.18.3
* From the definitions inclhack.def * From the definitions inclhack.def
* and the template file fixincl * and the template file fixincl
*/ */
/* DO NOT SVN-MERGE THIS FILE, EITHER Sun 31 Jan 2016 19:52:05 EST /* DO NOT SVN-MERGE THIS FILE, EITHER Fri Jun 10 12:56:52 UTC 2016
* *
* You must regenerate it. Use the ./genfixes script. * You must regenerate it. Use the ./genfixes script.
* *
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* certain ANSI-incompatible system header files which are fixed to work * certain ANSI-incompatible system header files which are fixed to work
* correctly with ANSI C and placed in a directory that GNU C will search. * correctly with ANSI C and placed in a directory that GNU C will search.
* *
* This file contains 231 fixup descriptions. * This file contains 235 fixup descriptions.
* *
* See README for more information. * See README for more information.
* *
...@@ -1547,6 +1547,154 @@ static const char* apzAix_Stdio_InlinePatch[] = { ...@@ -1547,6 +1547,154 @@ static const char* apzAix_Stdio_InlinePatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * * /* * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Description of Aix_Stdlib_Malloc fix
*/
tSCC zAix_Stdlib_MallocName[] =
"aix_stdlib_malloc";
/*
* File name selection pattern
*/
tSCC zAix_Stdlib_MallocList[] =
"stdlib.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAix_Stdlib_MallocMachs[] = {
"*-*-aix*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAix_Stdlib_MallocSelect0[] =
"#define[ \t]+malloc[ \t]+__linux_malloc";
#define AIX_STDLIB_MALLOC_TEST_CT 1
static tTestDesc aAix_Stdlib_MallocTests[] = {
{ TT_EGREP, zAix_Stdlib_MallocSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Aix_Stdlib_Malloc
*/
static const char* apzAix_Stdlib_MallocPatch[] = {
"format",
"extern void *malloc(size_t) __asm__(\"__linux_malloc\");",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aix_Stdlib_Realloc fix
*/
tSCC zAix_Stdlib_ReallocName[] =
"aix_stdlib_realloc";
/*
* File name selection pattern
*/
tSCC zAix_Stdlib_ReallocList[] =
"stdlib.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAix_Stdlib_ReallocMachs[] = {
"*-*-aix*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAix_Stdlib_ReallocSelect0[] =
"#define[ \t]+realloc[ \t]+__linux_realloc";
#define AIX_STDLIB_REALLOC_TEST_CT 1
static tTestDesc aAix_Stdlib_ReallocTests[] = {
{ TT_EGREP, zAix_Stdlib_ReallocSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Aix_Stdlib_Realloc
*/
static const char* apzAix_Stdlib_ReallocPatch[] = {
"format",
"extern void *realloc(void *, size_t) __asm__(\"__linux_realloc\");",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aix_Stdlib_Calloc fix
*/
tSCC zAix_Stdlib_CallocName[] =
"aix_stdlib_calloc";
/*
* File name selection pattern
*/
tSCC zAix_Stdlib_CallocList[] =
"stdlib.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAix_Stdlib_CallocMachs[] = {
"*-*-aix*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAix_Stdlib_CallocSelect0[] =
"#define[ \t]+calloc[ \t]+__linux_calloc";
#define AIX_STDLIB_CALLOC_TEST_CT 1
static tTestDesc aAix_Stdlib_CallocTests[] = {
{ TT_EGREP, zAix_Stdlib_CallocSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Aix_Stdlib_Calloc
*/
static const char* apzAix_Stdlib_CallocPatch[] = {
"format",
"extern void *calloc(size_t, size_t) __asm__(\"__linux_calloc\");",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aix_Stdlib_Valloc fix
*/
tSCC zAix_Stdlib_VallocName[] =
"aix_stdlib_valloc";
/*
* File name selection pattern
*/
tSCC zAix_Stdlib_VallocList[] =
"stdlib.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAix_Stdlib_VallocMachs[] = {
"*-*-aix*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAix_Stdlib_VallocSelect0[] =
"#define[ \t]+valloc[ \t]+__linux_valloc";
#define AIX_STDLIB_VALLOC_TEST_CT 1
static tTestDesc aAix_Stdlib_VallocTests[] = {
{ TT_EGREP, zAix_Stdlib_VallocSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Aix_Stdlib_Valloc
*/
static const char* apzAix_Stdlib_VallocPatch[] = {
"format",
"extern void *valloc(size_t) __asm__(\"__linux_valloc\");",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aix_Strtof_Const fix * Description of Aix_Strtof_Const fix
*/ */
tSCC zAix_Strtof_ConstName[] = tSCC zAix_Strtof_ConstName[] =
...@@ -9485,9 +9633,9 @@ static const char* apzX11_SprintfPatch[] = { ...@@ -9485,9 +9633,9 @@ static const char* apzX11_SprintfPatch[] = {
* *
* List of all fixes * List of all fixes
*/ */
#define REGEX_COUNT 268 #define REGEX_COUNT 272
#define MACH_LIST_SIZE_LIMIT 187 #define MACH_LIST_SIZE_LIMIT 187
#define FIX_COUNT 231 #define FIX_COUNT 235
/* /*
* Enumerate the fixes * Enumerate the fixes
...@@ -9525,6 +9673,10 @@ typedef enum { ...@@ -9525,6 +9673,10 @@ typedef enum {
AIX_STDINT_4_FIXIDX, AIX_STDINT_4_FIXIDX,
AIX_STDINT_5_FIXIDX, AIX_STDINT_5_FIXIDX,
AIX_STDIO_INLINE_FIXIDX, AIX_STDIO_INLINE_FIXIDX,
AIX_STDLIB_MALLOC_FIXIDX,
AIX_STDLIB_REALLOC_FIXIDX,
AIX_STDLIB_CALLOC_FIXIDX,
AIX_STDLIB_VALLOC_FIXIDX,
AIX_STRTOF_CONST_FIXIDX, AIX_STRTOF_CONST_FIXIDX,
AIX_SYSMACHINE_FIXIDX, AIX_SYSMACHINE_FIXIDX,
AIX_SYSWAIT_2_FIXIDX, AIX_SYSWAIT_2_FIXIDX,
...@@ -9887,6 +10039,26 @@ tFixDesc fixDescList[ FIX_COUNT ] = { ...@@ -9887,6 +10039,26 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
AIX_STDIO_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, AIX_STDIO_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_Stdio_InlineTests, apzAix_Stdio_InlinePatch, 0 }, aAix_Stdio_InlineTests, apzAix_Stdio_InlinePatch, 0 },
{ zAix_Stdlib_MallocName, zAix_Stdlib_MallocList,
apzAix_Stdlib_MallocMachs,
AIX_STDLIB_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_Stdlib_MallocTests, apzAix_Stdlib_MallocPatch, 0 },
{ zAix_Stdlib_ReallocName, zAix_Stdlib_ReallocList,
apzAix_Stdlib_ReallocMachs,
AIX_STDLIB_REALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_Stdlib_ReallocTests, apzAix_Stdlib_ReallocPatch, 0 },
{ zAix_Stdlib_CallocName, zAix_Stdlib_CallocList,
apzAix_Stdlib_CallocMachs,
AIX_STDLIB_CALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_Stdlib_CallocTests, apzAix_Stdlib_CallocPatch, 0 },
{ zAix_Stdlib_VallocName, zAix_Stdlib_VallocList,
apzAix_Stdlib_VallocMachs,
AIX_STDLIB_VALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_Stdlib_VallocTests, apzAix_Stdlib_VallocPatch, 0 },
{ zAix_Strtof_ConstName, zAix_Strtof_ConstList, { zAix_Strtof_ConstName, zAix_Strtof_ConstList,
apzAix_Strtof_ConstMachs, apzAix_Strtof_ConstMachs,
AIX_STRTOF_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, AIX_STRTOF_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
......
...@@ -911,6 +911,48 @@ fix = { ...@@ -911,6 +911,48 @@ fix = {
test_text = "#ifdef __cplusplus\n}\n\n#ifdef ferror"; test_text = "#ifdef __cplusplus\n}\n\n#ifdef ferror";
}; };
/*
* stdlib.h on AIX uses #define on malloc and friends.
*/
fix = {
hackname = aix_stdlib_malloc;
mach = "*-*-aix*";
files = stdlib.h;
select = "#define[ \t]+malloc[ \t]+__linux_malloc";
c_fix = format;
c_fix_arg = "extern void *malloc(size_t) __asm__(\"__linux_malloc\");";
test_text = "#define malloc __linux_malloc";
};
fix = {
hackname = aix_stdlib_realloc;
mach = "*-*-aix*";
files = stdlib.h;
select = "#define[ \t]+realloc[ \t]+__linux_realloc";
c_fix = format;
c_fix_arg = "extern void *realloc(void *, size_t) __asm__(\"__linux_realloc\");";
test_text = "#define realloc __linux_realloc";
};
fix = {
hackname = aix_stdlib_calloc;
mach = "*-*-aix*";
files = stdlib.h;
select = "#define[ \t]+calloc[ \t]+__linux_calloc";
c_fix = format;
c_fix_arg = "extern void *calloc(size_t, size_t) __asm__(\"__linux_calloc\");";
test_text = "#define calloc __linux_calloc";
};
fix = {
hackname = aix_stdlib_valloc;
mach = "*-*-aix*";
files = stdlib.h;
select = "#define[ \t]+valloc[ \t]+__linux_valloc";
c_fix = format;
c_fix_arg = "extern void *valloc(size_t) __asm__(\"__linux_valloc\");";
test_text = "#define valloc __linux_valloc";
};
/* /*
* stdlib.h on AIX 4.3 declares strtof() with a non-const first argument. * stdlib.h on AIX 4.3 declares strtof() with a non-const first argument.
......
...@@ -9,6 +9,26 @@ ...@@ -9,6 +9,26 @@
#if defined( AIX_STDLIB_MALLOC_CHECK )
extern void *malloc(size_t) __asm__("__linux_malloc");
#endif /* AIX_STDLIB_MALLOC_CHECK */
#if defined( AIX_STDLIB_REALLOC_CHECK )
extern void *realloc(void *, size_t) __asm__("__linux_realloc");
#endif /* AIX_STDLIB_REALLOC_CHECK */
#if defined( AIX_STDLIB_CALLOC_CHECK )
extern void *calloc(size_t, size_t) __asm__("__linux_calloc");
#endif /* AIX_STDLIB_CALLOC_CHECK */
#if defined( AIX_STDLIB_VALLOC_CHECK )
extern void *valloc(size_t) __asm__("__linux_valloc");
#endif /* AIX_STDLIB_VALLOC_CHECK */
#if defined( AIX_STRTOF_CONST_CHECK ) #if defined( AIX_STRTOF_CONST_CHECK )
extern float strtof(const char *, char **); extern float strtof(const char *, char **);
#endif /* AIX_STRTOF_CONST_CHECK */ #endif /* AIX_STRTOF_CONST_CHECK */
......
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