patches/gcc-10-spawn.diff
author jurikm
Sun, 12 Feb 2012 14:04:10 +0000
changeset 8245 383896da4129
parent 7965 9268485bd802
permissions -rw-r--r--
SFEsauerbraten.spec: add IPS package name
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7965
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
     1
--- gcc-4.6.2/fixincludes/fixincl.x	2010-11-09 11:26:09.000000000 +0100
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
     2
+++ gcc-4.6.2-patch/fixincludes/fixincl.x	2011-12-02 13:08:56.282070301 +0100
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
     3
@@ -15,7 +15,7 @@
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
     4
  * certain ANSI-incompatible system header files which are fixed to work
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
     5
  * correctly with ANSI C and placed in a directory that GNU C will search.
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
     6
  *
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
     7
- * This file contains 210 fixup descriptions.
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
     8
+ * This file contains 211 fixup descriptions.
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
     9
  *
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    10
  * See README for more information.
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    11
  *
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    12
@@ -6969,6 +6969,43 @@
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    13
 
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    14
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    15
  *
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    16
+ *  Description of Solaris_Posix_Spawn_Restrict fix
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    17
+ */
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    18
+tSCC zSolaris_Posix_Spawn_RestrictName[] =
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    19
+     "solaris_posix_spawn_restrict";
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    20
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    21
+/*
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    22
+ *  File name selection pattern
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    23
+ */
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    24
+tSCC zSolaris_Posix_Spawn_RestrictList[] =
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    25
+  "spawn.h\0";
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    26
+/*
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    27
+ *  Machine/OS name selection pattern
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    28
+ */
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    29
+tSCC* apzSolaris_Posix_Spawn_RestrictMachs[] = {
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    30
+        "*-*-solaris2*",
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    31
+        (const char*)NULL };
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    32
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    33
+/*
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    34
+ *  content selection pattern - do fix if pattern found
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    35
+ */
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    36
+tSCC zSolaris_Posix_Spawn_RestrictSelect0[] =
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    37
+       "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    38
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    39
+#define    SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT  1
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    40
+static tTestDesc aSolaris_Posix_Spawn_RestrictTests[] = {
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    41
+  { TT_EGREP,    zSolaris_Posix_Spawn_RestrictSelect0, (regex_t*)NULL }, };
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    42
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    43
+/*
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    44
+ *  Fix Command Arguments for Solaris_Posix_Spawn_Restrict
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    45
+ */
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    46
+static const char* apzSolaris_Posix_Spawn_RestrictPatch[] = {
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    47
+    "format",
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    48
+    "%1*_RESTRICT_KYWD %2%3",
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    49
+    (char*)NULL };
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    50
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    51
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    52
+ *
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    53
  *  Description of Solaris_Stdio_Tag fix
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    54
  */
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    55
 tSCC zSolaris_Stdio_TagName[] =
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    56
@@ -8552,9 +8589,9 @@
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    57
  *
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    58
  *  List of all fixes
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    59
  */
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    60
-#define REGEX_COUNT          249
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    61
+#define REGEX_COUNT          250
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    62
 #define MACH_LIST_SIZE_LIMIT 181
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    63
-#define FIX_COUNT            210
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    64
+#define FIX_COUNT            211
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    65
 
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    66
 /*
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    67
  *  Enumerate the fixes
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    68
@@ -8731,6 +8768,7 @@
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    69
     SOLARIS_INT_LIMITS_2_FIXIDX,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    70
     SOLARIS_INT_LIMITS_3_FIXIDX,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    71
     SOLARIS_INT_TYPES_FIXIDX,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    72
+    SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    73
     SOLARIS_STDIO_TAG_FIXIDX,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    74
     SOLARIS_SYS_VA_LIST_FIXIDX,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    75
     STATSSWTCH_FIXIDX,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    76
@@ -9628,6 +9666,11 @@
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    77
      SOLARIS_INT_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    78
      aSolaris_Int_TypesTests,   apzSolaris_Int_TypesPatch, 0 },
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    79
 
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    80
+  {  zSolaris_Posix_Spawn_RestrictName,    zSolaris_Posix_Spawn_RestrictList,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    81
+     apzSolaris_Posix_Spawn_RestrictMachs,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    82
+     SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    83
+     aSolaris_Posix_Spawn_RestrictTests,   apzSolaris_Posix_Spawn_RestrictPatch, 0 },
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    84
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    85
   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    86
      apzSolaris_Stdio_TagMachs,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    87
      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    88
--- gcc-4.6.2/fixincludes/inclhack.def	2010-11-09 11:26:09.000000000 +0100
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    89
+++ gcc-4.6.2-patch/fixincludes/inclhack.def	2011-12-02 13:06:53.974190573 +0100
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    90
@@ -3693,6 +3693,23 @@
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    91
 
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    92
 
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    93
 /*
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    94
+ * Solaris 10+ <spawn.h> uses char *const argv[_RESTRICT_KYWD] in the
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    95
+ * posix_spawn declarations, which doesn't work with C++.
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    96
+ */
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    97
+fix = {
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    98
+    hackname  = solaris_posix_spawn_restrict;
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
    99
+    files     = spawn.h;
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   100
+    mach      = '*-*-solaris2*';
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   101
+    c_fix     = format;
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   102
+    c_fix_arg = "%1*_RESTRICT_KYWD %2%3";
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   103
+    select    = "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   104
+    test_text =
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   105
+    "char *const argv[_RESTRICT_KYWD],\n"
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   106
+    "char *const envp[_RESTRICT_KYWD]);";
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   107
+};
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   108
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   109
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   110
+/*
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   111
  * Sun Solaris 8 has what appears to be some gross workaround for
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   112
  * some old version of their c++ compiler.  G++ doesn't want it
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   113
  * either, but doesn't want to be tied to SunPRO version numbers.
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   114
--- gcc-4.6.2/fixincludes/spawn.h	1970-01-01 01:00:00.000000000 +0100
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   115
+++ gcc-4.6.2-patch/fixincludes/spawn.h	2011-12-02 13:04:16.806543614 +0100
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   116
@@ -0,0 +1,15 @@
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   117
+/*  DO NOT EDIT THIS FILE.
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   118
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   119
+    It has been auto-edited by fixincludes from:
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   120
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   121
+	"fixinc/tests/inc/spawn.h"
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   122
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   123
+    This had to be done to correct non-standard usages in the
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   124
+    original, manufacturer supplied header file.  */
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   125
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   126
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   127
+
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   128
+#if defined( SOLARIS_POSIX_SPAWN_RESTRICT_CHECK )
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   129
+char *const *_RESTRICT_KYWD argv,
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   130
+char *const *_RESTRICT_KYWD envp);
9268485bd802 SFEgcc.spec: patch10 for spawn issue
jurikm
parents:
diff changeset
   131
+#endif  /* SOLARIS_POSIX_SPAWN_RESTRICT_CHECK */