diff --git a/build/autoconf/toolchain.m4 b/build/autoconf/toolchain.m4 index 3a7b94121dd8..9c26ef5ad0e0 100644 --- a/build/autoconf/toolchain.m4 +++ b/build/autoconf/toolchain.m4 @@ -34,12 +34,6 @@ if test "$CC_TYPE" = "clang-cl"; then CLANG_CL=1 fi -if test "$GNU_CC"; then - if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then - GCC_USE_GNU_LD=1 - fi -fi - AC_SUBST(CLANG_CXX) AC_SUBST(CLANG_CL) ]) diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure index 36b54e0982f0..a37ce6df109c 100755 --- a/build/moz.configure/toolchain.configure +++ b/build/moz.configure/toolchain.configure @@ -1818,6 +1818,13 @@ set_config('LD_IS_BFD', depends(select_linker.KIND) add_old_configure_assignment('LINKER_LDFLAGS', select_linker.LINKER_FLAG) +# GCC_USE_GNU_LD=1 means the linker is command line compatible with GNU ld. +set_config('GCC_USE_GNU_LD', depends(select_linker.KIND) + (lambda x: x in ('bfd', 'gold', 'lld') or None)) +add_old_configure_assignment('GCC_USE_GNU_LD', depends(select_linker.KIND) + (lambda x: x in ('bfd', 'gold', 'lld') or None)) + + # Assembler detection # ============================================================== diff --git a/js/src/old-configure.in b/js/src/old-configure.in index fef3f498f871..a1a562d91ff7 100644 --- a/js/src/old-configure.in +++ b/js/src/old-configure.in @@ -1770,8 +1770,6 @@ AC_SUBST(HOST_BIN_SUFFIX) AC_SUBST(TARGET_XPCOM_ABI) -AC_SUBST(GCC_USE_GNU_LD) - AC_SUBST_LIST(DSO_CFLAGS) AC_SUBST_LIST(DSO_PIC_CFLAGS) AC_SUBST(DSO_LDOPTS) diff --git a/old-configure.in b/old-configure.in index 6e7ea41ae12b..f3ab4014e9ac 100644 --- a/old-configure.in +++ b/old-configure.in @@ -4212,7 +4212,6 @@ AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSSE3) AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSE4_1) AC_SUBST(HAVE_X86_AVX2) AC_SUBST(HAVE_ALTIVEC) -AC_SUBST(GCC_USE_GNU_LD) AC_SUBST_LIST(DSO_CFLAGS) AC_SUBST_LIST(DSO_PIC_CFLAGS) diff --git a/python/mozbuild/mozbuild/action/generate_symbols_file.py b/python/mozbuild/mozbuild/action/generate_symbols_file.py index bf1ae917a2d0..e57e131aa7ef 100644 --- a/python/mozbuild/mozbuild/action/generate_symbols_file.py +++ b/python/mozbuild/mozbuild/action/generate_symbols_file.py @@ -71,7 +71,7 @@ def generate_symbols_file(output, *args): assert ext == '.def' output.write('LIBRARY %s\nEXPORTS\n %s\n' % (libname, '\n '.join(symbols))) - elif buildconfig.substs['GCC_USE_GNU_LD']: + elif buildconfig.substs.get('GCC_USE_GNU_LD'): # A linker version script is generated for GNU LD that looks like the # following: # liblibrary.so { diff --git a/security/generate_mapfile.py b/security/generate_mapfile.py index 5fcb20cf3b96..7cf215bf2751 100644 --- a/security/generate_mapfile.py +++ b/security/generate_mapfile.py @@ -22,7 +22,8 @@ import buildconfig def main(output, input): is_darwin = buildconfig.substs['OS_ARCH'] == 'Darwin' - is_mingw = "WINNT" == buildconfig.substs['OS_ARCH'] and buildconfig.substs['GCC_USE_GNU_LD'] + is_mingw = "WINNT" == buildconfig.substs['OS_ARCH'] and \ + buildconfig.substs.get('GCC_USE_GNU_LD') with open(input, 'rb') as f: for line in f: