Skip to content
Snippets Groups Projects
Commit f14ddefc authored by Sergey Kosukhin's avatar Sergey Kosukhin Committed by Thomas Jahns
Browse files

Make test_exported_symbols stricter.


* Do not allow for the leading underscores of the xt_* symbols
  when they are not expected and enforce them otherwise.
* Also add special rules for compilers previously covered by the
  broader rule.
* And move variable substitution to top of script.

Co-authored-by: default avatarThomas Jahns <jahns@dkrz.de>
parent 42afb690
No related branches found
No related tags found
No related merge requests found
......@@ -114,7 +114,7 @@ AM_PROG_CC_C_O
# Set up libtool.
ACX_USE_LIBTOOL_CONFIGURATION
AC_SUBST([lt_cv_nm_interface])
acx_symprfx=$ac_symprfx
AC_SUBST([acx_symprfx],[$ac_symprfx])
dnl ######################################################################
dnl Properties of the compiler
dnl ######################################################################
......
......@@ -49,6 +49,7 @@ NM="@NM@"
lt_cv_nm_interface="@lt_cv_nm_interface@"
abs_builddir="@abs_builddir@"
abs_top_builddir="@abs_top_builddir@"
acx_symprfx="@acx_symprfx@"
if [ x"$lt_cv_nm_interface" = x"BSD nm" ]; then
exp_sym_prefix='[0-9a-fA-F]*[ ][ ]*[TDBGRSVW][ ]'
badsyms=$("$abs_top_builddir"/libtool --mode=clean --silent \
......@@ -77,12 +78,15 @@ if [ x"$lt_cv_nm_interface" = x"BSD nm" ]; then
/^${exp_sym_prefix}\(__NAGf90_\|f90_\)/b
# ignore symbols pgfortran/pgcc injects into our shared objects
/^${exp_sym_prefix}\(__get_xmmreg\|__pgdbg_stub\|__pgi_trace\|__set_xmmreg\|__pgi_data_section_start\|_mp_preinit\)/b
# skip symbols that conform to name prefix xt_
/^${exp_sym_prefix}_*[Xx][Tt]_/b
# skip symbols that conform to name prefix xt_ or Fortran yaxt module
# ifort adds a symbol 'yaxt._'
/^${exp_sym_prefix}${acx_symprfx}\\([Yy][Aa]\\)\\{0,1\\}[Xx][Tt]\\.\\{0,1\\}_/b
# gfortran module member names start with module name prefixed by two underscores
/^${exp_sym_prefix}__yaxt_MOD_/b
# also skip symbols mangled by asan
/^[0-9a-fA-F]*[ ][ ]*B[ ]__odr_asan\\.[Xx][Tt]\.*/b
# also skip symbols in Fortran yaxt module
/^${exp_sym_prefix}_*[Yy][Aa][Xx][Tt]\.*_/b
# PGI compiler prefixes D and B entries of modules with underscore
/^[0-9a-fA-F]*[ ][ ]*[DB][ ]_\\([Yy][Aa]\\)\\{0,1\\}[Xx][Tt]_/b
# skip $-symbols that the Cray compiler puts in
/^${exp_sym_prefix}.*\\\$.*/b
# skip internal symbols for stubs created by xlf
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment