libnosys/configure.in: test for symbol prefix _ and fix configure .previous etc. output

Jeff Johnston jjohnstn@redhat.com
Tue Jan 18 19:25:00 GMT 2005


Patch checked in.  Thanks.

-- Jeff J.

Hans-Peter Nilsson wrote:
> Please excuse the mixing of two actually independent changes!
> I'll split them up on request, but I thought them small enough
> (and being neighbors in the same diff chunk) that it didn't
> matter.
> 
> The first part, setting cache-id variables, is because before,
> without setting the cache-id variable, you get this
> configure-time output:
> ...
> checking for .previous assembler directive...
> checking for .popsection assembler directive...
> checking for section attributes...
> ...
> 
> With this patch:
> checking for .previous assembler directive... yes
> checking for .popsection assembler directive... yes
> checking for section attributes... yes
> 
> 
> The second part updates the "dollar prefix" (what target has
> them?) test to also handle _-prefixed symbols.  The rename is to
> make the test reflect the effect of the test better; controlling
> the __SYMBOL_PREFIX config macro.
> 
> The configure output difference is:
> checking for function prefix... no
> compared to:
> checking for symbol prefix... _
> 
> I have an update for libnosys/warning.h to make use of the
> setting for ELF targets coming next.
> 
> (diff -u seemed a little more readable than diff -c)
> 
> 2005-01-16  Hans-Peter Nilsson  <hp@axis.com>
> 
> 	* libnosys/configure.in (libc_cv_asm_previous_directive): Set
> 	cache-id variable.
> 	(libc_cv_asm_popsection_directive): Ditto.
> 	(libc_cv_section_attributes): Ditto.
> 	(libc_symbol_prefix): Rename from libc_dollar_prefix.  Check for
> 	"_" as well, and set __SYMBOL_PREFIX accordingly.
> 	* libnosys/configure: Regenerate.
> 
> Index: configure.in
> ===================================================================
> RCS file: /cvs/src/src/libgloss/libnosys/configure.in,v
> retrieving revision 1.3
> diff -c -p -u -p -r1.3 configure.in
> cvs diff: conflicting specifications of output style
> --- configure.in	11 May 2002 20:48:04 -0000	1.3
> +++ configure.in	16 Jan 2005 13:49:36 -0000
> @@ -137,53 +139,63 @@ case "${target}" in
>  
>          AC_CACHE_CHECK(for .previous assembler directive,
>                           libc_cv_asm_previous_directive, [dnl
> +        libc_cv_asm_previous_directive=no
>          cat > conftest.s <<EOF
>  .section foo_section
>  .previous
>  EOF
>          if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
> +          libc_cv_asm_previous_directive=yes
>            AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
>          fi
>          rm -f conftest*])
>  
>          AC_CACHE_CHECK(for .popsection assembler directive,
>                           libc_cv_asm_popsection_directive, [dnl
> +        libc_cv_asm_popsection_directive=no
>          cat > conftest.s <<EOF
>  .pushsection foo_section
>  .popsection
>  EOF
>          if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
> +          libc_cv_asm_popsection_directive=yes
>            AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
>          fi
>          rm -f conftest*])
>  
>          AC_CACHE_CHECK(for section attributes,
>                           libc_cv_section_attributes, [dnl
> +        libc_cv_section_attributes=no
>          cat > conftest.c <<EOF
>  int secttest __attribute__ ((section (".gnu.warning.secttest"))) = 10;
>  int main() {}
>  EOF
>          if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.c 1>&AC_FD_CC); then
> +          libc_cv_section_attributes=yes
>            AC_DEFINE(HAVE_SECTION_ATTRIBUTES)
>          fi
>          rm -f conftest*])
>          ;;
>  esac
>  
> -AC_CACHE_CHECK(for function prefix, libc_dollar_prefix, [dnl
> +AC_CACHE_CHECK(for symbol prefix, libc_symbol_prefix, [dnl
>  cat > conftest.c <<\EOF
>  foo () { }
>  EOF
>  dnl
> +libc_symbol_prefix=none
>  if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]);
>  then
> -  libc_dollar_prefix=yes
> +  libc_symbol_prefix='$'
>  else
> -  libc_dollar_prefix=no
> +  if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "_foo" > /dev/null]);
> +  then
> +    libc_symbol_prefix=_
> +  fi
>  fi
>  rm -f conftest* ])
> -if test $libc_dollar_prefix = yes ; then
> -  AC_DEFINE(__SYMBOL_PREFIX, "$")
> +if test $libc_symbol_prefix != none; then
> +  AC_DEFINE_UNQUOTED(__SYMBOL_PREFIX, "$libc_symbol_prefix")
>  else
>    AC_DEFINE(__SYMBOL_PREFIX, "")
>  fi
> 
> brgds, H-P



More information about the Newlib mailing list