inclhack.def (aix_stdlib_malloc): New fix.
authorDavid Edelsohn <dje.gcc@gmail.com>
Mon, 13 Jun 2016 18:59:43 +0000 (18:59 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Mon, 13 Jun 2016 18:59:43 +0000 (14:59 -0400)
* 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

fixincludes/ChangeLog
fixincludes/fixincl.x
fixincludes/inclhack.def
fixincludes/tests/base/stdlib.h

index da21dbcd9adb57e6fb000a5b72069fa46db6198b..60b46882db8f98572f5667f94a4fb64df5d07b94 100644 (file)
@@ -1,3 +1,15 @@
+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>
 
        PR target/68741
index 383381176905d8a816f500fd39ebfaa65001ea36..c79a6e4fb2ca71f3fdcab439164667e1ae443651 100644 (file)
@@ -2,11 +2,11 @@
  * 
  * 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
  * 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.
  *
@@ -15,7 +15,7 @@
  * 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.
  *
- * This file contains 231 fixup descriptions.
+ * This file contains 235 fixup descriptions.
  *
  * See README for more information.
  *
@@ -1545,6 +1545,154 @@ static const char* apzAix_Stdio_InlinePatch[] = {
 #ifdef ferror\n",
     (char*)NULL };
 
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  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
@@ -9485,9 +9633,9 @@ static const char* apzX11_SprintfPatch[] = {
  *
  *  List of all fixes
  */
-#define REGEX_COUNT          268
+#define REGEX_COUNT          272
 #define MACH_LIST_SIZE_LIMIT 187
-#define FIX_COUNT            231
+#define FIX_COUNT            235
 
 /*
  *  Enumerate the fixes
@@ -9525,6 +9673,10 @@ typedef enum {
     AIX_STDINT_4_FIXIDX,
     AIX_STDINT_5_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_SYSMACHINE_FIXIDX,
     AIX_SYSWAIT_2_FIXIDX,
@@ -9887,6 +10039,26 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
      AIX_STDIO_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      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,
      apzAix_Strtof_ConstMachs,
      AIX_STRTOF_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
index 8b6d1fe3a135b128b0bf25f1ae179185731167d6..8adb07678bc3b896978cec420eced597134034c2 100644 (file)
@@ -911,6 +911,48 @@ fix = {
     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.
index 2f91e07636aa2fc703290435611e3b8dc37d9148..cee7e5db41316a3483c1e7dd807496a437857eeb 100644 (file)
@@ -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 )
 extern float    strtof(const char *, char **);
 #endif  /* AIX_STRTOF_CONST_CHECK */