tm.texi (THREAD_MODEL_SPEC): Document it.

* tm.texi (THREAD_MODEL_SPEC): Document it.
* gcc.c (main): Use it.
* config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
* config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.

From-SVN: r42048
This commit is contained in:
Alexandre Oliva 2001-05-13 22:17:02 +00:00 committed by Alexandre Oliva
parent ff0b6b9921
commit 008355a6ed
5 changed files with 39 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2001-05-13 Alexandre Oliva <aoliva@redhat.com>
* tm.texi (THREAD_MODEL_SPEC): Document it.
* gcc.c (main): Use it.
* config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
* config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
2001-05-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 2001-05-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* rtl.h (SYMBOL_REF_WEAK): New macro. * rtl.h (SYMBOL_REF_WEAK): New macro.

View File

@ -199,6 +199,10 @@ do { \
%{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\ %{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
%{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}}" %{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}}"
/* Since there are separate multilibs for pthreads, determine the
thread model based on the command-line arguments. */
#define THREAD_MODEL_SPEC "%{pthread:posix}%{!pthread:single}"
/* AIX 4.3 typedefs ptrdiff_t as "long" while earlier releases used "int". */ /* AIX 4.3 typedefs ptrdiff_t as "long" while earlier releases used "int". */
#undef PTRDIFF_TYPE #undef PTRDIFF_TYPE

View File

@ -202,6 +202,10 @@ do { \
%{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\ %{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
%{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}}" %{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}}"
/* Since there are separate multilibs for pthreads, determine the
thread model based on the command-line arguments. */
#define THREAD_MODEL_SPEC "%{pthread:posix}%{!pthread:single}"
/* AIX V5 typedefs ptrdiff_t as "long" while earlier releases used "int". */ /* AIX V5 typedefs ptrdiff_t as "long" while earlier releases used "int". */
#undef PTRDIFF_TYPE #undef PTRDIFF_TYPE

View File

@ -5801,10 +5801,23 @@ main (argc, argv)
if (verbose_flag) if (verbose_flag)
{ {
int n; int n;
const char *thrmod;
notice ("Configured with: %s\n", configuration_arguments); notice ("Configured with: %s\n", configuration_arguments);
notice ("Thread model: %s\n", thread_model); #ifdef THREAD_MODEL_SPEC
/* We could have defined THREAD_MODEL_SPEC to "%*" by default,
but there's no point in doing all this processing just to get
thread_model back. */
obstack_init (&obstack);
do_spec_1 (THREAD_MODEL_SPEC, 0, thread_model);
obstack_1grow (&obstack, '\0');
thrmod = obstack_finish (&obstack);
#else
thrmod = thread_model;
#endif
notice ("Thread model: %s\n", thrmod);
/* compiler_version is truncated at the first space when initialized /* compiler_version is truncated at the first space when initialized
from version string, so truncate version_string at the first space from version string, so truncate version_string at the first space

View File

@ -248,6 +248,16 @@ the very end of the command given to the linker.
Do not define this macro if it does not need to do anything. Do not define this macro if it does not need to do anything.
@findex THREAD_MODEL_SPEC
@item THREAD_MODEL_SPEC
GCC @code{-v} will print the thread model GCC was configured to use.
However, this doesn't work on platforms that are multilibbed on thread
models, such as AIX 4.3. On such platforms, define
@code{THREAD_MODEL_SPEC} such that it evaluates to a string without
blanks that names one of the recognized thread models. @code{%*}, the
default value of this macro, will expand to the value of
@code{thread_file} set in @file{config.gcc}.
@findex EXTRA_SPECS @findex EXTRA_SPECS
@item EXTRA_SPECS @item EXTRA_SPECS
Define this macro to provide additional specifications to put in the Define this macro to provide additional specifications to put in the