From: Uros Bizjak Date: Tue, 3 Oct 2006 06:42:38 +0000 (+0200) Subject: inclhack.def (glibc_mutex_init): Also fix PTHREAD_MUTEX_(RECURSIVE|ERRORCHECK|ADAPTIV... X-Git-Tag: releases/gcc-4.0.4~319 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=240003bc1aa122da4675610beca65e5f2481c841;p=thirdparty%2Fgcc.git inclhack.def (glibc_mutex_init): Also fix PTHREAD_MUTEX_(RECURSIVE|ERRORCHECK|ADAPTIVE)_NP and... * inclhack.def (glibc_mutex_init): Also fix PTHREAD_MUTEX_(RECURSIVE|ERRORCHECK|ADAPTIVE)_NP and PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP initializers. * tests/base/pthread.h: Update. * fixincl.x: Regenerate. From-SVN: r117391 --- diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index e4433cce8ce1..b0b2cffb354a 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,12 @@ +2006-10-03 Uros Bizjak + + * inclhack.def (glibc_mutex_init): Also fix + PTHREAD_MUTEX_(RECURSIVE|ERRORCHECK|ADAPTIVE)_NP and + PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP initializers. + * tests/base/pthread.h: Update. + + * fixincl.x: Regenerate. + 2006-10-01 Uros Bizjak * inclhack.def (glibc_mutex_init): New fix. diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index ec05f8175da7..621ed2043683 100644 --- a/fixincludes/fixincl.x +++ b/fixincludes/fixincl.x @@ -2,11 +2,11 @@ * * DO NOT EDIT THIS FILE (fixincl.x) * - * It has been AutoGen-ed Monday October 2, 2006 at 07:40:46 AM CEST + * It has been AutoGen-ed Tuesday October 3, 2006 at 08:25:47 AM CEST * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT CVS-MERGE THIS FILE, EITHER Mon Oct 2 07:40:46 CEST 2006 +/* DO NOT CVS-MERGE THIS FILE, EITHER Tue Oct 3 08:25:47 CEST 2006 * * You must regenerate it. Use the ./genfixes script. * @@ -2018,7 +2018,10 @@ static tTestDesc aGlibc_Mutex_InitTests[] = { */ static const char* apzGlibc_Mutex_InitPatch[] = { "sed", "-e", "/define[ \t]\\+PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/,+1s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/", + "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/", + "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/", "-e", "/define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\/N;s/^[ \t]*#[ \t]*\\(define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\\\)\\n[ \t]*{ { 0, } }/# if __WORDSIZE == 64\\n# \\1\\n { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\n# else\\n# \\1\\n { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\n# endif/", + "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/", "-e", "/define[ \t]\\+PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/", (char*)NULL }; diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index 9b7748aa0a1c..50f036725bca 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -1171,6 +1171,8 @@ fix = { select = '\{ *\{ *0, *\} *\}'; sed = "/define[ \t]\\+PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/,+1" "s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/"; + sed = "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/"; + sed = "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/"; sed = "/define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\/" "N;s/^[ \t]*#[ \t]*" "\\(define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\\\)\\n" @@ -1181,15 +1183,44 @@ fix = { "# \\1\\n" " { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\n" "# endif/"; + sed = "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/"; sed = "/define[ \t]\\+PTHREAD_COND_INITIALIZER/" "s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/"; - test_text = - "#define PTHREAD_MUTEX_INITIALIZER \\\\\n" - " { { 0, } }\n" - "# define PTHREAD_RWLOCK_INITIALIZER \\\\\n" - " { { 0, } }\n" - "#define PTHREAD_COND_INITIALIZER { { 0, } }"; + test_text = <<- _EOText_ +#define PTHREAD_MUTEX_INITIALIZER \\ + { { 0, } } +#ifdef __USE_GNU +# if __WORDSIZE == 64 +# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \\ + { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP } } +# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \\ + { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP } } +# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \\ + { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP } } +# else +# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \\ + { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP } } +# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \\ + { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP } } +# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \\ + { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP } } +# endif +#endif +# define PTHREAD_RWLOCK_INITIALIZER \\ + { { 0, } } +# ifdef __USE_GNU +# if __WORDSIZE == 64 +# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \\ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \\ + PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } } +# else +# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \\ + { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } } +# endif +# endif +#define PTHREAD_COND_INITIALIZER { { 0, } } +_EOText_; }; diff --git a/fixincludes/tests/base/pthread.h b/fixincludes/tests/base/pthread.h index b1c4d517bce5..e75a6ee0e330 100644 --- a/fixincludes/tests/base/pthread.h +++ b/fixincludes/tests/base/pthread.h @@ -59,6 +59,23 @@ #if defined( GLIBC_MUTEX_INIT_CHECK ) #define PTHREAD_MUTEX_INITIALIZER \ { { 0, 0, 0, 0, 0, 0 } } +#ifdef __USE_GNU +# if __WORDSIZE == 64 +# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0 } } +# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0 } } +# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, 0 } } +# else +# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, 0 } } +# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0, 0 } } +# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, 0, 0 } } +# endif +#endif # if __WORDSIZE == 64 # define PTHREAD_RWLOCK_INITIALIZER \ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } @@ -66,6 +83,16 @@ # define PTHREAD_RWLOCK_INITIALIZER \ { { 0, 0, 0, 0, 0, 0, 0, 0 } } # endif +# ifdef __USE_GNU +# if __WORDSIZE == 64 +# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } } +# else +# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \ + { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, 0 } } +# endif +# endif #define PTHREAD_COND_INITIALIZER { { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } } #endif /* GLIBC_MUTEX_INIT_CHECK */