From b8a0c930580775e54bccdfdc77046db74331bad4 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 26 Aug 2023 10:36:54 +0930 Subject: [PATCH] ld STRINGIFY Delete support for old compilers that don't support string concatentation. * Makefile.am (stringify.sed): Delete rule. (GEN_DEPENDS, DISTCLEANFILES): Adjust. * configure.ac (STRINGIFY): Delete. * emultempl/beos.em: Use stringify.sed from srcdir. * emultempl/elf.em: Likewise. * emultempl/generic.em: Likewise. * emultempl/msp430.em: Likewise. * emultempl/pdp11.em: Likewise. * emultempl/pe.em: Likewise. * emultempl/pep.em: Likewise. * emultempl/stringify.sed: Renamed from.. * emultempl/astring.sed: ..this. * emultempl/ostring.sed: Delete. * Makefile.in: Regenerate. * configure: Regenerate. --- ld/Makefile.am | 7 +--- ld/Makefile.in | 8 +--- ld/configure | 44 +-------------------- ld/configure.ac | 19 --------- ld/emultempl/beos.em | 2 +- ld/emultempl/elf.em | 2 +- ld/emultempl/generic.em | 2 +- ld/emultempl/msp430.em | 2 +- ld/emultempl/ostring.sed | 4 -- ld/emultempl/pdp11.em | 2 +- ld/emultempl/pe.em | 2 +- ld/emultempl/pep.em | 2 +- ld/emultempl/{astring.sed => stringify.sed} | 0 13 files changed, 13 insertions(+), 83 deletions(-) delete mode 100644 ld/emultempl/ostring.sed rename ld/emultempl/{astring.sed => stringify.sed} (100%) diff --git a/ld/Makefile.am b/ld/Makefile.am index da885b68370..49dd3b5056e 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -623,16 +623,13 @@ ldemul-list.h: Makefile ldscripts/stamp: $(AM_V_GEN)test -d $(@D) || mkdir $(@D); touch $@ -stringify.sed: ${srcdir}/emultempl/$(STRINGIFY) - $(AM_V_GEN)cp ${srcdir}/emultempl/$(STRINGIFY) stringify.sed - if AMDEP GENDEPDIR=$(DEPDIR) else GENDEPDIR= endif GENSCRIPTS = $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "$(GENDEPDIR)" "${LIB_PATH}" "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ @enable_initfini_array@ -GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed ldscripts/stamp +GEN_DEPENDS = $(srcdir)/genscripts.sh ldscripts/stamp @TDIRS@ @@ -826,7 +823,7 @@ doc/ld/index.html: ld.texi $(ld_TEXINFOS) $(AM_V_GEN)$(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) \ --split=node -I$(srcdir) $(srcdir)/ld.texi -o doc/ld -DISTCLEANFILES = site.exp development.exp enablings.exp site.bak stringify.sed +DISTCLEANFILES = site.exp development.exp enablings.exp site.bak distclean-local: rm -rf ldscripts diff --git a/ld/Makefile.in b/ld/Makefile.in index 38c3b5f9f5f..10278dd6c1b 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -462,7 +462,6 @@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ -STRINGIFY = @STRINGIFY@ STRIP = @STRIP@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ @@ -1010,7 +1009,7 @@ BLD_POTFILES = $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES) @AMDEP_FALSE@GENDEPDIR = @AMDEP_TRUE@GENDEPDIR = $(DEPDIR) GENSCRIPTS = $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "$(GENDEPDIR)" "${LIB_PATH}" "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ @enable_initfini_array@ -GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed ldscripts/stamp +GEN_DEPENDS = $(srcdir)/genscripts.sh ldscripts/stamp # We need this for automake to use YLWRAP. # Allow dependency tracking to work for these files, too. @@ -1075,7 +1074,7 @@ CLEANFILES = dep.sed DEP DEPA DEP1 DEP2 spu_ovl.s spu_ovl.@OBJEXT@ spu_icache.s EXTRA_DIST = ldgram.c ldgram.h ldlex.c emultempl/spu_ovl.@OBJEXT@_c \ emultempl/spu_icache.@OBJEXT@_c deffilep.c deffilep.h $(man_MANS) -DISTCLEANFILES = site.exp development.exp enablings.exp site.bak stringify.sed +DISTCLEANFILES = site.exp development.exp enablings.exp site.bak all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -2353,9 +2352,6 @@ ldemul-list.h: Makefile ldscripts/stamp: $(AM_V_GEN)test -d $(@D) || mkdir $(@D); touch $@ -stringify.sed: ${srcdir}/emultempl/$(STRINGIFY) - $(AM_V_GEN)cp ${srcdir}/emultempl/$(STRINGIFY) stringify.sed - @TDIRS@ e%.c: diff --git a/ld/configure b/ld/configure index 960d54f1aea..d2cdf256b89 100755 --- a/ld/configure +++ b/ld/configure @@ -646,7 +646,6 @@ EMUL elf_plt_unwind_list_options elf_shlib_list_options elf_list_options -STRINGIFY ZSTD_LIBS ZSTD_CFLAGS zlibinc @@ -11656,7 +11655,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11659 "configure" +#line 11658 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11762,7 +11761,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11765 "configure" +#line 11764 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -17271,45 +17270,6 @@ fi fi -# When converting linker scripts into strings for use in emulation -# files, use astring.sed if the compiler supports ANSI string -# concatenation, or ostring.sed otherwise. This is to support the -# broken Microsoft MSVC compiler, which limits the length of string -# constants, while still supporting pre-ANSI compilers which do not -# support string concatenation. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ANSI C string concatenation works" >&5 -$as_echo_n "checking whether ANSI C string concatenation works... " >&6; } -if ${ld_cv_string_concatenation+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -char *a = "a" "a"; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ld_cv_string_concatenation=yes -else - ld_cv_string_concatenation=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_cv_string_concatenation" >&5 -$as_echo "$ld_cv_string_concatenation" >&6; } -if test "$ld_cv_string_concatenation" = "yes"; then - STRINGIFY=astring.sed -else - STRINGIFY=ostring.sed -fi - - # target-specific stuff: all_targets= diff --git a/ld/configure.ac b/ld/configure.ac index 14628e5dcef..c3ebd3ec7e4 100644 --- a/ld/configure.ac +++ b/ld/configure.ac @@ -392,25 +392,6 @@ fi AM_ZLIB AC_ZSTD -# When converting linker scripts into strings for use in emulation -# files, use astring.sed if the compiler supports ANSI string -# concatenation, or ostring.sed otherwise. This is to support the -# broken Microsoft MSVC compiler, which limits the length of string -# constants, while still supporting pre-ANSI compilers which do not -# support string concatenation. -AC_MSG_CHECKING([whether ANSI C string concatenation works]) -AC_CACHE_VAL(ld_cv_string_concatenation, -[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [char *a = "a" "a";])], - ld_cv_string_concatenation=yes, - ld_cv_string_concatenation=no)]) -AC_MSG_RESULT($ld_cv_string_concatenation) -if test "$ld_cv_string_concatenation" = "yes"; then - STRINGIFY=astring.sed -else - STRINGIFY=ostring.sed -fi -AC_SUBST(STRINGIFY) - # target-specific stuff: all_targets= diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em index 521d92797ec..e597f34ae57 100644 --- a/ld/emultempl/beos.em +++ b/ld/emultempl/beos.em @@ -718,7 +718,7 @@ then # Scripts compiled in. # sed commands to quote an ld script as a C string. -sc="-f stringify.sed" +sc="-f ${srcdir}/emultempl/stringify.sed" fragment <