gcc/gcc.patch.spawn

Sat, 24 Mar 2012 21:40:49 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 24 Mar 2012 21:40:49 +0100
changeset 414
fd611cde817f
permissions
-rw-r--r--

Introduce many changes to the buildconf and source code including:
(01) clean up, update, and partially update default config files,
(02) seems that Melware is unable to perform release engineering so
update chan_capi to new daily snapshot to solve echo problems,
(03) correct Asterisk inadequate hard coded gmime version check,
(04) force postgresql pthreads linkage to solve build problem,
(05) remove buggy hard coded LibXML configure definitions,
(06) remove local architecture specification to allow GCC
internal logic to determine proper CPU type instead,
(07) remove vendor sound install target causing uncontrolled
downloads and non RPM managed file installation,
(08) solve long outstanding bug in tcptls causing Asterisk
to ignore any intermediate CA certificate signatures,
(09) back out Digium engineering team's bright idea of replacing the
very portable and pervasive POSIX rand(1) with ast_random(), and
then not even implementing it causing all references to fail in
platforms not providing the very new POSIX.1-2008 mkdtemp(3)
function only distributed by BSD and some Linux,
(10) withdraw advanced linker symbol manipulations from SVR5 builds
until either Binutils supports hybrid versioned and anonymous
linker scripts or GCC stops hard coding versioned linker scripts,
(11) correct missing library linkage, some tailored to a specific OS,
(12) remove outdated logic for the no longer distributed gmime-config(1),
(13) remove local gmime buildconf hacks now that Asterisk has corrected
their own build configuration to almost portably support gmime,
(14) solve build problems relating to undetected LibXML paths,
(15) correct erroneous out of tree include definitions,
(16) improve some variable and comment naming,
(17) simplify sound language path hierarchy creation,
and correct australian english installation logic.

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

mercurial