x86: respect {nooptimize} for LEA
[binutils-gdb.git] / ld / Makefile.am
index 2fe9e287d23e71a59f37849899fd81d658ed6fac..bfc24537a0177f4b31a36ecfb25e88e8a7fe7020 100644 (file)
@@ -1,6 +1,6 @@
 ## Process this file with automake to generate Makefile.in
 #
-#   Copyright (C) 2012-2021 Free Software Foundation, Inc.
+#   Copyright (C) 2012-2023 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -45,7 +45,7 @@ ELF_CLFAGS=-DELF_LIST_OPTIONS=@elf_list_options@ \
           -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@
 WARN_CFLAGS = @WARN_CFLAGS@
 NO_WERROR = @NO_WERROR@
-AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
+AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
 
 # We put the scripts in the directory $(scriptdir)/ldscripts.
 # We can't put the scripts in $(datadir) because the SEARCH_DIR
@@ -271,9 +271,6 @@ ALL_EMULATION_SOURCES = \
        eelf32tilepro.c \
        eelf32vax.c \
        eelf32visium.c \
-       eelf32xc16x.c \
-       eelf32xc16xl.c \
-       eelf32xc16xs.c \
        eelf32xstormy16.c \
        eelf32xtensa.c \
        eelf32z80.c \
@@ -391,6 +388,8 @@ ALL_64_EMULATION_SOURCES = \
        eaarch64linux32.c \
        eaarch64linux32b.c \
        eaarch64linuxb.c \
+       eaarch64pe.c \
+       earm64pe.c \
        eelf32_x86_64.c \
        eelf32b4300.c \
        eelf32bmip.c \
@@ -454,10 +453,6 @@ ALL_64_EMULATION_SOURCES = \
        eelf64rdos.c \
        eelf64tilegx.c \
        eelf64tilegx_be.c \
-       eelf_k1om.c \
-       eelf_k1om_fbsd.c \
-       eelf_l1om.c \
-       eelf_l1om_fbsd.c \
        eelf_mipsel_haiku.c \
        eelf_x86_64.c \
        eelf_x86_64_cloudabi.c \
@@ -472,6 +467,7 @@ ALL_64_EMULATIONS = $(ALL_64_EMULATION_SOURCES:.c=.@OBJEXT@)
 
 ALL_EMUL_EXTRA_OFILES = \
        deffilep.@OBJEXT@ \
+       pdb.@OBJEXT@ \
        pe-dll.@OBJEXT@ \
        ldelf.@OBJEXT@ \
        ldelfgen.@OBJEXT@
@@ -482,12 +478,14 @@ ALL_64_EMUL_EXTRA_OFILES = \
 CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
        ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \
        mri.c ldcref.c pe-dll.c pep-dll.c ldlex-wrapper.c \
-       plugin.c ldbuildid.c ldelf.c ldelfgen.c
+       plugin.c ldbuildid.c ldelf.c ldelfgen.c \
+       pdb.c
 
 HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \
        ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \
        ldwrite.h mri.h deffile.h pe-dll.h pep-dll.h \
-       elf-hints-local.h plugin.h ldbuildid.h ldelf.h ldelfgen.h
+       elf-hints-local.h plugin.h ldbuildid.h ldelf.h ldelfgen.h \
+       pdb.h
 
 GENERATED_CFILES = ldgram.c ldlex.c deffilep.c
 GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h
@@ -508,38 +506,38 @@ STAGESTUFF = *.@OBJEXT@ ldscripts/* e*.c
 # yacc will produce working code which contain compile time warnings.
 ldgram.@OBJEXT@: ldgram.c
 if am__fastdepCC
-       $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR)
-       mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+       $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR)
+       $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 else
 if AMDEP
        source='ldgram.c' object='$@' libtool=no @AMDEPBACKSLASH@
        DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 endif
-       $(COMPILE) -c `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR)
+       $(AM_V_CC)$(COMPILE) -c `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR)
 endif
 
 ldlex-wrapper.@OBJEXT@: ldlex-wrapper.c ldlex.c
 if am__fastdepCC
-       $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(srcdir)/ldlex-wrapper.c $(NO_WERROR)
-       mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+       $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(srcdir)/ldlex-wrapper.c $(NO_WERROR)
+       $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 else
 if AMDEP
        source='ldlex-wrapper.c' object='$@' libtool=no @AMDEPBACKSLASH@
        DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 endif
-       $(COMPILE) -c $(srcdir)/ldlex-wrapper.c $(NO_WERROR)
+       $(AM_V_CC)$(COMPILE) -c $(srcdir)/ldlex-wrapper.c $(NO_WERROR)
 endif
 
 deffilep.@OBJEXT@: deffilep.c
 if am__fastdepCC
-       $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR)
-       mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+       $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR)
+       $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 else
 if AMDEP
        source='deffilep.c' object='$@' libtool=no @AMDEPBACKSLASH@
        DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 endif
-       $(COMPILE) -c `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR)
+       $(AM_V_CC)$(COMPILE) -c `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR)
 endif
 
 SRC_POTFILES = $(CFILES) $(HFILES)
@@ -555,18 +553,18 @@ po/BLD-POTFILES.in: @MAINT@ Makefile $(BLD_POTFILES)
 
 ldmain.@OBJEXT@: ldmain.c config.status
 if am__fastdepCC
-       $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \
+       $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \
          -DDEFAULT_EMULATION='"$(EMUL)"' \
          -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \
          -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \
          $(srcdir)/ldmain.c
-       mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+       $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 else
 if AMDEP
        source='ldmain.c' object='$@' libtool=no @AMDEPBACKSLASH@
        DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 endif
-       $(COMPILE) -c -DDEFAULT_EMULATION='"$(EMUL)"' \
+       $(AM_V_CC)$(COMPILE) -c -DDEFAULT_EMULATION='"$(EMUL)"' \
          -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \
          -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \
          $(srcdir)/ldmain.c
@@ -574,31 +572,31 @@ endif
 
 ldfile.@OBJEXT@: ldfile.c config.status
 if am__fastdepCC
-       $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \
+       $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \
        -DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \
         $(srcdir)/ldfile.c
-       mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+       $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 else
 if AMDEP
        source='ldfile.c' object='$@' libtool=no @AMDEPBACKSLASH@
        DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 endif
-       $(COMPILE) -c -DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' \
+       $(AM_V_CC)$(COMPILE) -c -DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' \
          -DTOOLBINDIR='"$(tooldir)/bin"' \
          $(srcdir)/ldfile.c
 endif
 
 eelf32_spu.@OBJEXT@: eelf32_spu.c
 if am__fastdepCC
-       $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \
+       $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \
          -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" eelf32_spu.c
-       mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+       $(AM_V_at)mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 else
 if AMDEP
        source='eelf32_spu.c' object='$@' libtool=no @AMDEPBACKSLASH@
        DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 endif
-       $(COMPILE) -c -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" \
+       $(AM_V_CC)$(COMPILE) -c -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" \
          eelf32_spu.c
 endif
 
@@ -618,7 +616,7 @@ ldemul-list.h: Makefile
        mv ldemul-tmp.h ldemul-list.h
 
 stringify.sed: ${srcdir}/emultempl/$(STRINGIFY)
-         cp ${srcdir}/emultempl/$(STRINGIFY) stringify.sed
+         $(AM_V_GEN)cp ${srcdir}/emultempl/$(STRINGIFY) stringify.sed
 
 if AMDEP
   GENDEPDIR=$(DEPDIR)
@@ -636,12 +634,12 @@ GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed
 # (The recursive variable expansion is portable.)
 
 run-genscripts:
-       ${GENSCRIPTS} $(script_target) "$($(script_tdirname))"
+       $(AM_V_at)${GENSCRIPTS} $(script_target) "$($(script_tdirname))"
 
 .PHONY: run-genscripts
 
 $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
-       base=`echo $@ | sed -e 's,e\(.*\).c,\1,'`; \
+       $(AM_V_GEN)base=`echo $@ | sed -e 's,e\(.*\).c,\1,'`; \
        $(MAKE) run-genscripts "script_target=$$base" "script_tdirname=tdir_$$base"
 
 # It's a pity we can't generate these include "./deps/e*.Pc" lines
@@ -769,9 +767,6 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32tilepro.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32vax.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32visium.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xc16x.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xc16xl.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xc16xs.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xstormy16.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xtensa.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32z80.Pc@am__quote@
@@ -886,6 +881,8 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32b.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linuxb.Pc@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64pe.Pc@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earm64pe.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_x86_64.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32b4300.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32bmip.Pc@am__quote@
@@ -949,10 +946,6 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64rdos.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64tilegx.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64tilegx_be.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_k1om.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_k1om_fbsd.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_l1om.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_l1om_fbsd.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_mipsel_haiku.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Pc@am__quote@
@@ -966,14 +959,15 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
 # We need this for automake to use YLWRAP.
 EXTRA_ld_new_SOURCES = deffilep.y ldlex.l
 # Allow dependency tracking to work for these files, too.
-EXTRA_ld_new_SOURCES += pep-dll.c pe-dll.c ldelf.c ldelfgen.c
+EXTRA_ld_new_SOURCES += ldelf.c ldelfgen.c pdb.c pep-dll.c pe-dll.c
 
 ld_new_SOURCES = ldgram.y ldlex-wrapper.c lexsup.c ldlang.c mri.c ldctor.c ldmain.c \
        ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c plugin.c \
        ldbuildid.c
 ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) \
-                     $(BFDLIB) $(LIBCTF) $(LIBIBERTY) $(LIBINTL_DEP)
-ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBCTF) $(LIBIBERTY) $(LIBINTL) $(ZLIB)
+                     $(BFDLIB) $(LIBCTF) $(LIBIBERTY) $(LIBINTL_DEP) $(JANSSON_LIBS)
+ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBCTF) \
+              $(LIBIBERTY) $(LIBINTL) $(ZLIB) $(ZSTD_LIBS) $(JANSSON_LIBS)
 
 # Dependency tracking for the generated emulation files.
 EXTRA_ld_new_SOURCES += $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES)
@@ -981,6 +975,7 @@ EXTRA_ld_new_SOURCES += $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES)
 # This is the real libbfd.a and libctf.a created by libtool.
 TESTBFDLIB = @TESTBFDLIB@
 TESTCTFLIB = @TESTCTFLIB@
+TESTSFRAMELIB = @TESTSFRAMELIB@
 
 check-DEJAGNU: site.exp
        (cd .libs; test -e ldscripts || test ! -e ld-new || $(LN_S) ../ldscripts .)
@@ -998,6 +993,7 @@ check-DEJAGNU: site.exp
                CXX_FOR_TARGET="$(CXX_FOR_TARGET)" \
                CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
                OFILES="$(OFILES)" BFDLIB="$(TESTBFDLIB)" CTFLIB="$(TESTCTFLIB) $(ZLIB)" \
+               SFRAMELIB="$(TESTSFRAMELIB)" \
                LIBIBERTY="$(LIBIBERTY) $(LIBINTL)" LIBS="$(LIBS)" \
                DO_COMPARE="`echo '$(do_compare)' | sed -e 's,\\$$,,g'`" \
                $(RUNTESTFLAGS); \
@@ -1005,11 +1001,11 @@ check-DEJAGNU: site.exp
        fi
 
 development.exp: $(BFDDIR)/development.sh
-       $(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh  \
+       $(AM_V_GEN)$(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh  \
          | $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@
 
 enablings.exp:
-       echo "set enable_libctf ${enable_libctf}" >> $@
+       $(AM_V_GEN)echo "set enable_libctf ${enable_libctf}" >> $@
 #
 #
 # Build a dummy plugin using libtool.
@@ -1043,20 +1039,20 @@ libdep_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 # because almost all configs use "gen" version of manual.
 #  Set DOCVER above to change.
 configdoc.texi:        ${DOCVER}-doc.texi
-       cp ${srcdir}/${DOCVER}-doc.texi ./configdoc.texi
-       chmod u+w ./configdoc.texi
+       $(AM_V_GEN)cp ${srcdir}/${DOCVER}-doc.texi ./configdoc.texi
+       $(AM_V_at)chmod u+w ./configdoc.texi
 
 # Build the man page from the texinfo file
 # The sed command removes the no-adjust Nroff command so that
 # the man output looks standard.
 ld.1: $(srcdir)/ld.texi configdoc.texi
-       touch $@
-       -$(TEXI2POD) $(MANCONF) < $(srcdir)/ld.texi > ld.pod
-       -($(POD2MAN) ld.pod | \
+       $(AM_V_GEN)touch $@
+       $(AM_V_at)-$(TEXI2POD) $(MANCONF) < $(srcdir)/ld.texi > ld.pod
+       $(AM_V_at)-($(POD2MAN) ld.pod | \
                sed -e '/^.if n .na/d' > $@.T$$$$ && \
                mv -f $@.T$$$$ $@) || \
                (rm -f $@.T$$$$ && exit 1)
-       rm -f ld.pod
+       $(AM_V_at)rm -f ld.pod
 
 MAINTAINERCLEANFILES = configdoc.texi ld.1
 
@@ -1116,8 +1112,8 @@ info-recursive: ld.1
 
 html-local: doc/ld/index.html
 doc/ld/index.html: ld.texi $(ld_TEXINFOS)
-       $(MKDIR_P) doc
-       $(AM_V_at)$(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) \
+       $(AM_V_at)$(MKDIR_P) doc
+       $(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