To-be-committed: fix configure case when assembler COMDAT group support is lacking

Hans-Peter Nilsson hp@bitrange.com
Sun Aug 26 22:21:00 GMT 2012


If the out-of-tree target assembler supports neither:
.section .text,"axG",@progbits,.foo,comdat
(tsk tsk no leading space, though that's a red herring)
nor:
.section .text,"axG",%progbits,.foo,comdat
then gcc/configure.ac drops through into the system-specific case seen
in the patch, where for *-*-solaris2*, gcc_cv_as_comdat_group_group is
set.  (If one of the above syntaxes work, then
gcc_cv_as_comdat_group_group is forced to "no".)  For other systems,
it is not set.  In subsequent code (setting HAVE_COMDAT_GROUP), a test
of that variable for such systems is seen in the build log as an error
message from "test":
...
checking assembler for section merging support... yes
checking assembler for COMDAT group support (GNU as)... no
checking assembler for COMDAT group support (GNU as, %type)... no
/mnt/2/tmp/hp/testgcc/tmp/st3/gcc/gcc/configure: line 23125: test: =: unary operator expected
checking assembler for line table discriminator support... yes
...
I'll commit this in a while as obvious.  The idiom for testing that
the variable is set (N.B. "manual" settings are supposed to work) is
copied from the closest variant, also the least objectionable one
among the extant ones.  There are lots of variants in there. :/

gcc:
	* configure.ac (gcc_cv_as_comdat_group_group): Default to no.
	* configure: Regenerate.

Index: gcc/configure.ac
===================================================================
--- gcc/configure.ac	(revision 190682)
+++ gcc/configure.ac	(working copy)
@@ -2630,6 +2630,9 @@ else
  if test $gcc_cv_as_comdat_group_percent = yes; then
    gcc_cv_as_comdat_group_group=no
  else
+   if test -z "${gcc_cv_as_comdat_group_group+set}"; then
+     gcc_cv_as_comdat_group_group=no
+   fi
    case "${target}" in
      # Sun as uses a completely different syntax.
      *-*-solaris2*)



More information about the Gcc-patches mailing list