forked from Imagelibrary/binutils-gdb
NaCl has been deprecated: https://developer.chrome.com/docs/native-client/migration/ It is now in the process of being removed from llvm: https://github.com/llvm/llvm-project/pull/133661 Remove NaCl/arm target support from bfd, binutils, gas and ld. bfd/ * Makefile.am (BFD32_BACKENDS): Remove elf-nacl.lo. (BFD32_BACKENDS_CFILES): Remove elf-nacl.c. (SOURCE_HFILES): Remove elf-nacl.h. * Makefile.in: Regenerated. * config.bfd: Add *-*-nacl* to obsolete targets. Remove *-*-nacl* targets. * configure.ac: Remove nacl target vectors. * elf-bfd.h (elf_target_os): Remove is_nacl. * elf-nacl.c: Removed. * elf-nacl.h: Likewise. * elf32-arm.c: Don't include "elf-nacl.h". (elf32_arm_nacl_plt0_entry): Removed. (elf32_arm_nacl_plt_entry): Likewise. (elf32_arm_stub_long_branch_arm_nacl): Likewise. (elf32_arm_stub_long_branch_arm_nacl_pic): Likewise. (arm_movw_immediate): Likewise. (arm_movt_immediate): Likewise. (arm_nacl_put_plt0): Likewise. (elf32_arm_nacl_link_hash_table_create): Likewise. (elf32_arm_nacl_modify_segment_map): Likewise. (elf32_arm_nacl_final_write_processing): Likewise. (elf32_arm_nacl_plt_sym_val): Likewise. (elf32_arm_stub_cmse_branch_thumb_only): Remove long_branch_arm_nacl and long_branch_arm_nacl_pic entries. (arm_type_of_stub): Updated. (elf32_arm_create_or_find_stub_sec): Likewise. (arm_stub_required_alignment): Likewise. (elf32_arm_allocate_plt_entry): Likewise. (elf32_arm_populate_plt_entry): Likewise. (elf32_arm_finish_dynamic_sections): Likewise. (elf32_arm_output_plt_map_1): Likewise. (elf32_arm_output_arch_local_syms): Likewise. Remove elf32_arm_nacl_bed. * targets.c: Remove NaCl target vectors. * bfd-in2.h: Regenerated. * configure: Likewise. * po/SRC-POTFILES.in: Likewise. binutils/ * NEWS: Mention NaCl target support removal. * testsuite/lib/binutils-common.exp: Remove NaCl target support. gas/ * NEWS: Mention NaCl target support removal. * configure.tgt: Likewise. * config/tc-arm.c: Remove NaCl target support. * testsuite/gas/arm/any-armv8m.d: Likewise. * testsuite/gas/arm/any-cmse-main.d: Likewise. * testsuite/gas/arm/any-cmse.d: Likewise. * testsuite/gas/arm/any-idiv.d: Likewise. * testsuite/gas/arm/arch4t-eabi.d: Likewise. * testsuite/gas/arm/arch4t.d: Likewise. * testsuite/gas/arm/armv8m.base-idiv.d: Likewise. * testsuite/gas/arm/armv9-a_arch.d: Likewise. * testsuite/gas/arm/attr-abi-hardfp-use-0.d: Likewise. * testsuite/gas/arm/attr-abi-hardfp-use-1.d: Likewise. * testsuite/gas/arm/attr-abi-hardfp-use-2.d: Likewise. * testsuite/gas/arm/attr-abi-hardfp-use-3.d: Likewise. * testsuite/gas/arm/attr-any-armv4t.d: Likewise. * testsuite/gas/arm/attr-any-thumbv6.d: Likewise. * testsuite/gas/arm/attr-arch-assumption.d: Likewise. * testsuite/gas/arm/attr-cpu-directive.d: Likewise. * testsuite/gas/arm/attr-default.d: Likewise. * testsuite/gas/arm/attr-empty-string.d: Likewise. * testsuite/gas/arm/attr-ext-fpv5-d16.d: Likewise. * testsuite/gas/arm/attr-ext-fpv5.d: Likewise. * testsuite/gas/arm/attr-ext-idiv.d: Likewise. * testsuite/gas/arm/attr-ext-mp.d: Likewise. * testsuite/gas/arm/attr-ext-neon-fp16.d: Likewise. * testsuite/gas/arm/attr-ext-neon-vfpv3.d: Likewise. * testsuite/gas/arm/attr-ext-neon-vfpv4.d: Likewise. * testsuite/gas/arm/attr-ext-sec.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3-d16-fp16.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3-d16.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3-fp16.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3xd-fp.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv3xd.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv4-d16.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv4-sp-d16.d: Likewise. * testsuite/gas/arm/attr-ext-vfpv4.d: Likewise. * testsuite/gas/arm/attr-march-all.d: Likewise. * testsuite/gas/arm/attr-march-armv1.d: Likewise. * testsuite/gas/arm/attr-march-armv2.d: Likewise. * testsuite/gas/arm/attr-march-armv2a.d: Likewise. * testsuite/gas/arm/attr-march-armv2s.d: Likewise. * testsuite/gas/arm/attr-march-armv3.d: Likewise. * testsuite/gas/arm/attr-march-armv3m.d: Likewise. * testsuite/gas/arm/attr-march-armv4.d: Likewise. * testsuite/gas/arm/attr-march-armv4t.d: Likewise. * testsuite/gas/arm/attr-march-armv4txm.d: Likewise. * testsuite/gas/arm/attr-march-armv4xm.d: Likewise. * testsuite/gas/arm/attr-march-armv5.d: Likewise. * testsuite/gas/arm/attr-march-armv5t.d: Likewise. * testsuite/gas/arm/attr-march-armv5te.d: Likewise. * testsuite/gas/arm/attr-march-armv5tej.d: Likewise. * testsuite/gas/arm/attr-march-armv5texp.d: Likewise. * testsuite/gas/arm/attr-march-armv5txm.d: Likewise. * testsuite/gas/arm/attr-march-armv6-m+os.d: Likewise. * testsuite/gas/arm/attr-march-armv6-m.d: Likewise. * testsuite/gas/arm/attr-march-armv6.d: Likewise. * testsuite/gas/arm/attr-march-armv6j.d: Likewise. * testsuite/gas/arm/attr-march-armv6k+sec.d: Likewise. * testsuite/gas/arm/attr-march-armv6k.d: Likewise. * testsuite/gas/arm/attr-march-armv6kt2.d: Likewise. * testsuite/gas/arm/attr-march-armv6kz.d: Likewise. * testsuite/gas/arm/attr-march-armv6kzt2.d: Likewise. * testsuite/gas/arm/attr-march-armv6s-m.d: Likewise. * testsuite/gas/arm/attr-march-armv6t2.d: Likewise. * testsuite/gas/arm/attr-march-armv6z.d: Likewise. * testsuite/gas/arm/attr-march-armv6zk.d: Likewise. * testsuite/gas/arm/attr-march-armv6zkt2.d: Likewise. * testsuite/gas/arm/attr-march-armv6zt2.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a+idiv.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a+mp.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a+sec+virt.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a+sec.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a+virt.d: Likewise. * testsuite/gas/arm/attr-march-armv7-a.d: Likewise. * testsuite/gas/arm/attr-march-armv7-m.d: Likewise. * testsuite/gas/arm/attr-march-armv7-r+mp.d: Likewise. * testsuite/gas/arm/attr-march-armv7-r.d: Likewise. * testsuite/gas/arm/attr-march-armv7.d: Likewise. * testsuite/gas/arm/attr-march-armv7a.d: Likewise. * testsuite/gas/arm/attr-march-armv7em.d: Likewise. * testsuite/gas/arm/attr-march-armv7m.d: Likewise. * testsuite/gas/arm/attr-march-armv7r.d: Likewise. * testsuite/gas/arm/attr-march-armv7ve.d: Likewise. * testsuite/gas/arm/attr-march-armv8-a+crypto.d: Likewise. * testsuite/gas/arm/attr-march-armv8-a+fp.d: Likewise. * testsuite/gas/arm/attr-march-armv8-a+rdma.d: Likewise. * testsuite/gas/arm/attr-march-armv8-a+simd.d: Likewise. * testsuite/gas/arm/attr-march-armv8-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8-r+crypto.d: Likewise. * testsuite/gas/arm/attr-march-armv8-r+fp.d: Likewise. * testsuite/gas/arm/attr-march-armv8-r+simd.d: Likewise. * testsuite/gas/arm/attr-march-armv8-r.d: Likewise. * testsuite/gas/arm/attr-march-armv8_1-a+simd.d: Likewise. * testsuite/gas/arm/attr-march-armv8_1-m.main.d: Likewise. * testsuite/gas/arm/attr-march-armv8_4-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8_5-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8_6-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8_7-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8_8-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8_9-a.d: Likewise. * testsuite/gas/arm/attr-march-armv9_1-a.d: Likewise. * testsuite/gas/arm/attr-march-armv9_2-a.d: Likewise. * testsuite/gas/arm/attr-march-armv9_3-a.d: Likewise. * testsuite/gas/arm/attr-march-armv9_4-a.d: Likewise. * testsuite/gas/arm/attr-march-armv9_5-a.d: Likewise. * testsuite/gas/arm/attr-march-armv8m.base.d: Likewise. * testsuite/gas/arm/attr-march-armv8m.main.d: Likewise. * testsuite/gas/arm/attr-march-armv8m.main.dsp.d: Likewise. * testsuite/gas/arm/attr-march-iwmmxt.d: Likewise. * testsuite/gas/arm/attr-march-iwmmxt2.d: Likewise. * testsuite/gas/arm/attr-march-xscale.d: Likewise. * testsuite/gas/arm/attr-mcpu.d: Likewise. * testsuite/gas/arm/attr-mfpu-arm1020e.d: Likewise. * testsuite/gas/arm/attr-mfpu-arm1020t.d: Likewise. * testsuite/gas/arm/attr-mfpu-arm1136jf-s.d: Likewise. * testsuite/gas/arm/attr-mfpu-arm1136jfs.d: Likewise. * testsuite/gas/arm/attr-mfpu-neon-fp16.d: Likewise. * testsuite/gas/arm/attr-mfpu-neon.d: Likewise. * testsuite/gas/arm/attr-mfpu-softvfp+vfp.d: Likewise. * testsuite/gas/arm/attr-mfpu-softvfp.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfp.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfp10-r0.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfp10.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfp3.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfp9.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpv2.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpv3-d16.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpv3.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpv4-d16.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpv4.d: Likewise. * testsuite/gas/arm/attr-mfpu-vfpxd.d: Likewise. * testsuite/gas/arm/attr-names.d: Likewise. * testsuite/gas/arm/attr-non-null-terminated-string.d: Likewise. * testsuite/gas/arm/attr-order.d: Likewise. * testsuite/gas/arm/attr-override-cpu-directive.d: Likewise. * testsuite/gas/arm/attr-override-mcpu.d: Likewise. * testsuite/gas/arm/bl-local-2.d: Likewise. * testsuite/gas/arm/bl-local-v4t.d: Likewise. * testsuite/gas/arm/blx-local.d: Likewise. * testsuite/gas/arm/branch-reloc.d: Likewise. * testsuite/gas/arm/directives.d: Likewise. * testsuite/gas/arm/got_prel.d: Likewise. * testsuite/gas/arm/mapdir.d: Likewise. * testsuite/gas/arm/mapmisc.d: Likewise. * testsuite/gas/arm/mapsecs.d: Likewise. * testsuite/gas/arm/mapshort-eabi.d: Likewise. * testsuite/gas/arm/mov-highregs-any.d: Likewise. * testsuite/gas/arm/mov-lowregs-any.d: Likewise. * testsuite/gas/arm/note-march-armv2.d: Likewise. * testsuite/gas/arm/note-march-armv2a.d: Likewise. * testsuite/gas/arm/note-march-armv3.d: Likewise. * testsuite/gas/arm/note-march-armv3m.d: Likewise. * testsuite/gas/arm/note-march-armv4.d: Likewise. * testsuite/gas/arm/note-march-armv4t.d: Likewise. * testsuite/gas/arm/note-march-armv5.d: Likewise. * testsuite/gas/arm/note-march-armv5t.d: Likewise. * testsuite/gas/arm/note-march-armv5te.d: Likewise. * testsuite/gas/arm/note-march-iwmmxt.d: Likewise. * testsuite/gas/arm/note-march-iwmmxt2.d: Likewise. * testsuite/gas/arm/note-march-xscale.d: Likewise. * testsuite/gas/arm/pr12198-1.d: Likewise. * testsuite/gas/arm/pr12198-2.d: Likewise. * testsuite/gas/arm/thumb-eabi.d: Likewise. * testsuite/gas/arm/thumb.d: Likewise. * testsuite/gas/arm/thumbrel.d: Likewise. * config/te-nacl.h: Removed. ld/ * Makefile.am (ALL_EMULATION_SOURCES): Remove earmelf_nacl.c and and earmelfb_nacl.c. Remove NaCl dep files. * NEWS: Mention NaCl target support removal. * configure.tgt: Remove NaCl target support. * Makefile.in: Regenerated. * configure: Likewise. * po/BLD-POTFILES.in: Likewise. * emulparams/armelf_nacl.sh: Removed. * emulparams/armelfb_nacl.sh: Likewise. * emulparams/elf_nacl.sh: Likewise. * testsuite/ld-arm/farcall-arm-nacl-pic.d: Likewise. * testsuite/ld-arm/farcall-arm-nacl.d: Likewise. * testsuite/ld-arm/farcall-data-nacl.d: Likewise. * testsuite/ld-arm/farcall-thumb2-purecode-consecutive-veneer.d: Adjusted. * testsuite/ld-arm/arm-elf.exp: Remove NaCl target support. * testsuite/ld-arm/cortex-a8-far.d: Likewise. * testsuite/ld-arm/non-contiguous-arm3.d: Likewise. * testsuite/ld-arm/non-contiguous-arm6.d: Likewise. * testsuite/ld-elf/binutils.exp: Likewise. * testsuite/ld-elf/build-id.exp: Likewise. * testsuite/ld-elf/ehdr_start-missing.d: Likewise. * testsuite/ld-elf/ehdr_start-shared.d: Likewise. * testsuite/ld-elf/ehdr_start-userdef.d: Likewise. * testsuite/ld-elf/ehdr_start-weak.d: Likewise. * testsuite/ld-elf/ehdr_start.d: Likewise. * testsuite/ld-elf/elf.exp: Likewise. * testsuite/ld-elf/export-class.exp: Likewise. * testsuite/ld-elf/fatal-warnings-1a.d: Likewise. * testsuite/ld-elf/fatal-warnings-1b.d: Likewise. * testsuite/ld-elf/orphan-region.d: Likewise. * testsuite/ld-elf/package-note.exp: Likewise. * testsuite/ld-elf/pr16322.d: Likewise. * testsuite/ld-elf/pr16498a.d: Likewise. * testsuite/ld-elf/pr16498b.d: Likewise. * testsuite/ld-elf/pr19162.d: Likewise. * testsuite/ld-elf/pr22269a.d: Likewise. * testsuite/ld-elf/pr22269b.d: Likewise. * testsuite/ld-elf/pr22393-1a.d: Likewise. * testsuite/ld-elf/pr22393-1b.d: Likewise. * testsuite/ld-elf/pr22393-1c.d: Likewise. * testsuite/ld-elf/pr22393-1d.d: Likewise. * testsuite/ld-elf/pr22393-1e.d: Likewise. * testsuite/ld-elf/pr22393-1f.d: Likewise. * testsuite/ld-elf/pr22393-2a.rd: Likewise. * testsuite/ld-elf/pr22393-2b.rd: Likewise. * testsuite/ld-elf/pr23900-1-32.rd: Likewise. * testsuite/ld-elf/pr23900-1-64.rd: Likewise. * testsuite/ld-elf/pr23900-1.d: Likewise. * testsuite/ld-elf/pr23900-2a.d: Likewise. * testsuite/ld-elf/pr23900-2b.d: Likewise. * testsuite/ld-elf/pr30508.d: Likewise. * testsuite/ld-elf/pr30907-1.d: Likewise. * testsuite/ld-elf/pr30907-2.d: Likewise. * testsuite/ld-elf/pr32341.d: Likewise. * testsuite/ld-elf/shared.exp: Likewise. * testsuite/ld-elf/tls.exp: Likewise. * testsuite/ld-elf/tls_common.exp: Likewise. * testsuite/ld-elfvers/vers.exp: Likewise. * testsuite/ld-elfvsb/elfvsb.exp: Likewise. * testsuite/ld-elfweak/elfweak.exp: Likewise. * testsuite/ld-gc/gc.exp: Likewise. * testsuite/ld-ifunc/binutils.exp: Likewise. * testsuite/ld-pie/pie.exp: Likewise. * testsuite/ld-plugin/lto-binutils.exp: Likewise. * testsuite/ld-plugin/lto.exp: Likewise. * testsuite/ld-scripts/rgn-at3.d: Likewise. * testsuite/ld-shared/shared.exp: Likewise. * testsuite/ld-size/size.exp: Likewise. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
829 lines
24 KiB
Makefile
829 lines
24 KiB
Makefile
## Process this file with automake to generate Makefile.in
|
|
#
|
|
# Copyright (C) 2012-2025 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
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; see the file COPYING3. If not see
|
|
# <http://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
AUTOMAKE_OPTIONS = dejagnu no-texinfo.tex no-dist foreign info-in-builddir
|
|
ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
|
|
TEXINFO_TEX = ../texinfo/texinfo.tex
|
|
|
|
SUBDIRS = po
|
|
|
|
tooldir = $(exec_prefix)/$(target_alias)
|
|
|
|
YACC = `if [ -f ../bison/bison ]; then echo ../bison/bison -y -L$(srcdir)/../bison/; else echo @YACC@; fi`
|
|
YFLAGS = -d
|
|
LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi`
|
|
|
|
# Automake 1.10+ disables lex and yacc output file regeneration if
|
|
# maintainer mode is disabled. Avoid this.
|
|
am__skiplex =
|
|
am__skipyacc =
|
|
|
|
# This is where we get zlib from. zlibdir is -L../zlib and zlibinc is
|
|
# -I../zlib, unless we were configured with --with-system-zlib, in which
|
|
# case both are empty.
|
|
ZLIB = @zlibdir@ -lz
|
|
ZLIBINC = @zlibinc@
|
|
|
|
ELF_CFLAGS=-DELF_LIST_OPTIONS=@elf_list_options@ \
|
|
-DELF_SHLIB_LIST_OPTIONS=@elf_shlib_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_CFLAGS) $(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
|
|
# directives need to be different for native and cross linkers.
|
|
scriptdir = $(tooldir)/lib
|
|
|
|
EMUL = @EMUL@
|
|
EMULATION_OFILES = @EMULATION_OFILES@
|
|
EMUL_EXTRA_OFILES = @EMUL_EXTRA_OFILES@
|
|
|
|
|
|
# Search path to override the default search path for -lfoo libraries.
|
|
# If LIB_PATH is empty, the ones in the script (if any) are left alone.
|
|
# (The default is usually /lib:/usr/lib:/usr/local/lib, unless building
|
|
# a cross-linker, in which case the default is empty. See genscripts.sh.)
|
|
# Otherwise, they are replaced with the ones given in LIB_PATH,
|
|
# which may have the form: LIB_PATH=/lib:/usr/local/lib. This can be set
|
|
# when the linker is configured via the --with-lib-path configure switch.
|
|
LIB_PATH = @LIB_PATH@
|
|
|
|
BASEDIR = $(srcdir)/..
|
|
BFDDIR = $(BASEDIR)/bfd
|
|
INCDIR = $(BASEDIR)/include
|
|
|
|
# What version of the manual to build
|
|
DOCVER = gen
|
|
|
|
# Options to extract the man page from ld.texi
|
|
MANCONF = -Dman
|
|
|
|
TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS)
|
|
|
|
POD2MAN = pod2man --center="GNU Development Tools" \
|
|
--release="binutils-$(VERSION)" --section=1
|
|
|
|
# Setup the testing framework, if you have one
|
|
EXPECT = expect
|
|
RUNTEST = runtest
|
|
RUNTESTFLAGS =
|
|
|
|
CC_FOR_TARGET = ` \
|
|
if [ -f $$r/../gcc/xgcc ] ; then \
|
|
if [ -f $$r/../newlib/Makefile ] ; then \
|
|
echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
|
|
else \
|
|
echo $$r/../gcc/xgcc -B$$r/../gcc/; \
|
|
fi; \
|
|
else \
|
|
if [ "@host@" = "@target@" ] ; then \
|
|
echo $(CC); \
|
|
else \
|
|
echo gcc | sed '$(transform)'; \
|
|
fi; \
|
|
fi`
|
|
|
|
CXX_FOR_TARGET = ` \
|
|
if [ -f $$r/../gcc/g++ ] ; then \
|
|
if [ -f $$r/../newlib/Makefile ] ; then \
|
|
echo $$r/../gcc/g++ -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
|
|
else \
|
|
echo $$r/../gcc/g++ -B$$r/../gcc/; \
|
|
fi; \
|
|
elif [ -f $$r/../gcc/xg++ ] ; then \
|
|
if [ -f $$r/../newlib/Makefile ] ; then \
|
|
echo $$r/../gcc/xg++ -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
|
|
else \
|
|
echo $$r/../gcc/xg++ -B$$r/../gcc/; \
|
|
fi; \
|
|
else \
|
|
if [ "@host@" = "@target@" ] ; then \
|
|
echo $(CXX); \
|
|
else \
|
|
echo g++ | sed '$(transform)'; \
|
|
fi; \
|
|
fi`
|
|
|
|
# Strip out sanitization options as we want to test building binaries without any extra paraphernalia
|
|
CFLAGS_FOR_TARGET = `echo $(CFLAGS) | sed -e 's/-fsanitize=[^ ]*//g'`
|
|
CXXFLAGS_FOR_TARGET = `echo $(CXXFLAGS) | sed -e 's/-fsanitize=[^ ]*//g'`
|
|
|
|
transform = s/^ld-new$$/$(installed_linker)/;@program_transform_name@
|
|
bin_PROGRAMS = ld-new
|
|
info_TEXINFOS = ld.texi ldint.texi
|
|
ld_TEXINFOS = configdoc.texi
|
|
noinst_TEXINFOS = ldint.texi
|
|
man_MANS = ld.1
|
|
|
|
AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \
|
|
-I $(top_srcdir)/../libiberty --no-split
|
|
TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \
|
|
-I $(top_srcdir)/../libiberty
|
|
|
|
AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) @zlibinc@ \
|
|
@INCINTL@ $(HDEFINES) $(CFLAGS) @LARGEFILE_CPPFLAGS@ \
|
|
-DLOCALEDIR="\"$(datadir)/locale\""
|
|
|
|
BFDLIB = ../bfd/libbfd.la
|
|
LIBIBERTY = ../libiberty/libiberty.a
|
|
if ENABLE_LIBCTF
|
|
LIBCTF = ../libctf/libctf.la
|
|
else
|
|
LIBCTF =
|
|
endif
|
|
|
|
# These all start with e so 'make clean' can find them.
|
|
ALL_EMULATION_SOURCES = \
|
|
eaix5ppc.c \
|
|
eaix5rs6.c \
|
|
eaixppc.c \
|
|
eaixrs6.c \
|
|
ealpha.c \
|
|
ealphavms.c \
|
|
earcelf.c \
|
|
earclinux.c \
|
|
earclinux_nps.c \
|
|
earcv2elf.c \
|
|
earcv2elfx.c \
|
|
earm_wince_pe.c \
|
|
earmelf.c \
|
|
earmelf_fbsd.c \
|
|
earmelf_fuchsia.c \
|
|
earmelf_haiku.c \
|
|
earmelf_linux.c \
|
|
earmelf_linux_eabi.c \
|
|
earmelf_linux_fdpiceabi.c \
|
|
earmelf_nbsd.c \
|
|
earmelf_phoenix.c \
|
|
earmelf_vxworks.c \
|
|
earmelfb.c \
|
|
earmelfb_fbsd.c \
|
|
earmelfb_fuchsia.c \
|
|
earmelfb_linux.c \
|
|
earmelfb_linux_eabi.c \
|
|
earmelfb_linux_fdpiceabi.c \
|
|
earmelfb_nbsd.c \
|
|
earmnto.c \
|
|
earmpe.c \
|
|
eavr1.c \
|
|
eavr2.c \
|
|
eavr25.c \
|
|
eavr3.c \
|
|
eavr31.c \
|
|
eavr35.c \
|
|
eavr4.c \
|
|
eavr5.c \
|
|
eavr51.c \
|
|
eavr6.c \
|
|
eavrtiny.c \
|
|
eavrxmega1.c \
|
|
eavrxmega2.c \
|
|
eavrxmega2_flmap.c \
|
|
eavrxmega3.c \
|
|
eavrxmega4.c \
|
|
eavrxmega4_flmap.c \
|
|
eavrxmega5.c \
|
|
eavrxmega6.c \
|
|
eavrxmega7.c \
|
|
ecrisaout.c \
|
|
ecriself.c \
|
|
ecrislinux.c \
|
|
ecskyelf.c \
|
|
ecskyelf_linux.c \
|
|
ed10velf.c \
|
|
ed30v_e.c \
|
|
ed30v_o.c \
|
|
ed30velf.c \
|
|
eelf32_dlx.c \
|
|
eelf32_sparc.c \
|
|
eelf32_sparc_sol2.c \
|
|
eelf32_sparc_vxworks.c \
|
|
eelf32_spu.c \
|
|
eelf32_tic6x_be.c \
|
|
eelf32_tic6x_elf_be.c \
|
|
eelf32_tic6x_elf_le.c \
|
|
eelf32_tic6x_le.c \
|
|
eelf32_tic6x_linux_be.c \
|
|
eelf32_tic6x_linux_le.c \
|
|
eelf32am33lin.c \
|
|
eelf32bfin.c \
|
|
eelf32bfinfd.c \
|
|
eelf32cr16.c \
|
|
eelf32crx.c \
|
|
eelf32epiphany.c \
|
|
eelf32epiphany_4x4.c \
|
|
eelf32fr30.c \
|
|
eelf32frv.c \
|
|
eelf32frvfd.c \
|
|
eelf32ft32.c \
|
|
eelf32ip2k.c \
|
|
eelf32iq10.c \
|
|
eelf32iq2000.c \
|
|
eelf32lm32.c \
|
|
eelf32lm32fd.c \
|
|
eelf32lppc.c \
|
|
eelf32lppclinux.c \
|
|
eelf32lppcnto.c \
|
|
eelf32lppcsim.c \
|
|
eelf32m32c.c \
|
|
eelf32mb_linux.c \
|
|
eelf32mbel_linux.c \
|
|
eelf32mcore.c \
|
|
eelf32mep.c \
|
|
eelf32metag.c \
|
|
eelf32microblaze.c \
|
|
eelf32microblazeel.c \
|
|
eelf32moxie.c \
|
|
eelf32mt.c \
|
|
eelf32or1k.c \
|
|
eelf32or1k_linux.c \
|
|
eelf32ppc.c \
|
|
eelf32ppc_fbsd.c \
|
|
eelf32ppchaiku.c \
|
|
eelf32ppclinux.c \
|
|
eelf32ppcnto.c \
|
|
eelf32ppcsim.c \
|
|
eelf32ppcvxworks.c \
|
|
eelf32ppcwindiss.c \
|
|
eelf32rl78.c \
|
|
eelf32rx.c \
|
|
eelf32rx_linux.c \
|
|
eelf32tilegx.c \
|
|
eelf32tilegx_be.c \
|
|
eelf32tilepro.c \
|
|
eelf32vax.c \
|
|
eelf32visium.c \
|
|
eelf32xstormy16.c \
|
|
eelf32xtensa.c \
|
|
eelf32z80.c \
|
|
eelf_i386.c \
|
|
eelf_i386_be.c \
|
|
eelf_i386_fbsd.c \
|
|
eelf_i386_haiku.c \
|
|
eelf_i386_ldso.c \
|
|
eelf_i386_sol2.c \
|
|
eelf_i386_vxworks.c \
|
|
eelf_iamcu.c \
|
|
eelf_s390.c \
|
|
eh8300elf.c \
|
|
eh8300elf_linux.c \
|
|
eh8300helf.c \
|
|
eh8300helf_linux.c \
|
|
eh8300hnelf.c \
|
|
eh8300self.c \
|
|
eh8300self_linux.c \
|
|
eh8300snelf.c \
|
|
eh8300sxelf.c \
|
|
eh8300sxelf_linux.c \
|
|
eh8300sxnelf.c \
|
|
ehppaelf.c \
|
|
ehppalinux.c \
|
|
ehppanbsd.c \
|
|
ehppaobsd.c \
|
|
ei386aout.c \
|
|
ei386beos.c \
|
|
ei386bsd.c \
|
|
ei386go32.c \
|
|
ei386lynx.c \
|
|
ei386moss.c \
|
|
ei386msdos.c \
|
|
ei386nto.c \
|
|
ei386pe.c \
|
|
ei386pe_posix.c \
|
|
em32relf.c \
|
|
em32relf_linux.c \
|
|
em32rlelf.c \
|
|
em32rlelf_linux.c \
|
|
em68hc11elf.c \
|
|
em68hc11elfb.c \
|
|
em68hc12elf.c \
|
|
em68hc12elfb.c \
|
|
em68kelf.c \
|
|
em68kelfnbsd.c \
|
|
em9s12zelf.c \
|
|
emcorepe.c \
|
|
emn10200.c \
|
|
emn10300.c \
|
|
emoxiebox.c \
|
|
emsp430X.c \
|
|
emsp430elf.c \
|
|
ends32belf.c \
|
|
ends32belf16m.c \
|
|
ends32belf_linux.c \
|
|
ends32elf.c \
|
|
ends32elf16m.c \
|
|
ends32elf_linux.c \
|
|
ens32knbsd.c \
|
|
epc532macha.c \
|
|
epdp11.c \
|
|
epjelf.c \
|
|
epjlelf.c \
|
|
eppcmacos.c \
|
|
epruelf.c \
|
|
escore3_elf.c \
|
|
escore7_elf.c \
|
|
esh.c \
|
|
eshelf.c \
|
|
eshelf_fd.c \
|
|
eshelf_linux.c \
|
|
eshelf_nbsd.c \
|
|
eshelf_nto.c \
|
|
eshelf_uclinux.c \
|
|
eshelf_vxworks.c \
|
|
eshl.c \
|
|
eshlelf.c \
|
|
eshlelf_fd.c \
|
|
eshlelf_linux.c \
|
|
eshlelf_nbsd.c \
|
|
eshlelf_nto.c \
|
|
eshlelf_vxworks.c \
|
|
eshpe.c \
|
|
etic30coff.c \
|
|
etic3xcoff.c \
|
|
etic3xcoff_onchip.c \
|
|
etic4xcoff.c \
|
|
etic54xcoff.c \
|
|
ev850.c \
|
|
ev850_rh850.c \
|
|
evanilla.c \
|
|
evaxnbsd.c \
|
|
exgateelf.c \
|
|
ez80.c \
|
|
ez8001.c \
|
|
ez8002.c
|
|
|
|
ALL_EMULATIONS = $(ALL_EMULATION_SOURCES:.c=.@OBJEXT@)
|
|
|
|
ALL_64_EMULATION_SOURCES = \
|
|
eaarch64cloudabi.c \
|
|
eaarch64cloudabib.c \
|
|
eaarch64elf.c \
|
|
eaarch64elf32.c \
|
|
eaarch64elf32b.c \
|
|
eaarch64elfb.c \
|
|
eaarch64fbsd.c \
|
|
eaarch64fbsdb.c \
|
|
eaarch64haiku.c \
|
|
eaarch64linux.c \
|
|
eaarch64linux32.c \
|
|
eaarch64linux32b.c \
|
|
eaarch64linuxb.c \
|
|
eaarch64nto.c \
|
|
eaarch64pe.c \
|
|
earm64pe.c \
|
|
eelf32_x86_64.c \
|
|
eelf32b4300.c \
|
|
eelf32bmip.c \
|
|
eelf32bmipn32.c \
|
|
eelf32briscv.c \
|
|
eelf32briscv_ilp32.c \
|
|
eelf32briscv_ilp32f.c \
|
|
eelf32bsmip.c \
|
|
eelf32btsmip.c \
|
|
eelf32btsmip_fbsd.c \
|
|
eelf32btsmipn32.c \
|
|
eelf32btsmipn32_fbsd.c \
|
|
eelf32ebmip.c \
|
|
eelf32ebmipvxworks.c \
|
|
eelf32elmip.c \
|
|
eelf32elmipvxworks.c \
|
|
eelf32kvx.c \
|
|
eelf32l4300.c \
|
|
eelf32lmip.c \
|
|
eelf32loongarch.c \
|
|
eelf32lr5900.c \
|
|
eelf32lr5900n32.c \
|
|
eelf32lriscv.c \
|
|
eelf32lriscv_ilp32.c \
|
|
eelf32lriscv_ilp32f.c \
|
|
eelf32lsmip.c \
|
|
eelf32ltsmip.c \
|
|
eelf32ltsmip_fbsd.c \
|
|
eelf32ltsmipn32.c \
|
|
eelf32ltsmipn32_fbsd.c \
|
|
eelf32mipswindiss.c \
|
|
eelf64_aix.c \
|
|
eelf64_ia64.c \
|
|
eelf64_ia64_fbsd.c \
|
|
eelf64_ia64_vms.c \
|
|
eelf64_s390.c \
|
|
eelf64_sparc.c \
|
|
eelf64_sparc_fbsd.c \
|
|
eelf64_sparc_sol2.c \
|
|
eelf64alpha.c \
|
|
eelf64alpha_fbsd.c \
|
|
eelf64alpha_nbsd.c \
|
|
eelf64bmip.c \
|
|
eelf64bpf.c \
|
|
eelf64briscv.c \
|
|
eelf64briscv_lp64.c \
|
|
eelf64briscv_lp64f.c \
|
|
eelf64btsmip.c \
|
|
eelf64btsmip_fbsd.c \
|
|
eelf64hppa.c \
|
|
eelf64kvx.c \
|
|
eelf64kvx_linux.c \
|
|
eelf64loongarch.c \
|
|
eelf64lppc.c \
|
|
eelf64lppc_fbsd.c \
|
|
eelf64lriscv.c \
|
|
eelf64lriscv_lp64.c \
|
|
eelf64lriscv_lp64f.c \
|
|
eelf64ltsmip.c \
|
|
eelf64ltsmip_fbsd.c \
|
|
eelf64mmix.c \
|
|
eelf64ppc.c \
|
|
eelf64ppc_fbsd.c \
|
|
eelf64rdos.c \
|
|
eelf64tilegx.c \
|
|
eelf64tilegx_be.c \
|
|
eelf_mipsel_haiku.c \
|
|
eelf_x86_64.c \
|
|
eelf_x86_64_cloudabi.c \
|
|
eelf_x86_64_fbsd.c \
|
|
eelf_x86_64_haiku.c \
|
|
eelf_x86_64_sol2.c \
|
|
ehppa64linux.c \
|
|
ei386pep.c \
|
|
emmo.c
|
|
|
|
ALL_64_EMULATIONS = $(ALL_64_EMULATION_SOURCES:.c=.@OBJEXT@)
|
|
|
|
ALL_EMUL_EXTRA_OFILES = \
|
|
deffilep.@OBJEXT@ \
|
|
pdb.@OBJEXT@ \
|
|
pe-dll.@OBJEXT@ \
|
|
ldelf.@OBJEXT@ \
|
|
ldelfgen.@OBJEXT@
|
|
|
|
ALL_64_EMUL_EXTRA_OFILES = \
|
|
pep-dll.@OBJEXT@
|
|
|
|
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 \
|
|
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 \
|
|
pdb.h
|
|
|
|
GENERATED_CFILES = ldgram.c ldlex.c deffilep.c
|
|
GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h
|
|
|
|
# Require an early dependency on the generated headers, as the dependency
|
|
# tracking will not cause them to be built beforehand.
|
|
BUILT_SOURCES = $(GENERATED_HFILES) @MAINT@ $(GENERATED_CFILES) \
|
|
$(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES)
|
|
|
|
OFILES = ldgram.@OBJEXT@ ldlex-wrapper.@OBJEXT@ lexsup.@OBJEXT@ ldlang.@OBJEXT@ \
|
|
mri.@OBJEXT@ ldctor.@OBJEXT@ ldmain.@OBJEXT@ plugin.@OBJEXT@ \
|
|
ldwrite.@OBJEXT@ ldexp.@OBJEXT@ ldemul.@OBJEXT@ ldver.@OBJEXT@ ldmisc.@OBJEXT@ \
|
|
ldfile.@OBJEXT@ ldcref.@OBJEXT@ ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES} \
|
|
ldbuildid.@OBJEXT@
|
|
|
|
STAGESTUFF = *.@OBJEXT@ ldscripts/* e*.c
|
|
|
|
# Disable -Werror, if it has been enabled, since old versions of bison/
|
|
# yacc will produce working code which contain compile time warnings.
|
|
ldgram.@OBJEXT@: ldgram.c
|
|
if am__fastdepCC
|
|
$(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
|
|
$(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
|
|
$(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
|
|
$(AM_V_CC)$(COMPILE) -c $(srcdir)/ldlex-wrapper.c $(NO_WERROR)
|
|
endif
|
|
|
|
deffilep.@OBJEXT@: deffilep.c
|
|
if am__fastdepCC
|
|
$(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
|
|
$(AM_V_CC)$(COMPILE) -c `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR)
|
|
endif
|
|
|
|
SRC_POTFILES = $(CFILES) $(HFILES)
|
|
BLD_POTFILES = $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES)
|
|
|
|
po/SRC-POTFILES.in: @MAINT@ Makefile
|
|
for f in $(SRC_POTFILES); do echo $$f; done | LC_ALL=C sort > $@-tmp \
|
|
&& mv $@-tmp $(srcdir)/po/SRC-POTFILES.in
|
|
|
|
po/BLD-POTFILES.in: @MAINT@ Makefile
|
|
for f in $(BLD_POTFILES); do echo $$f; done | LC_ALL=C sort > $@-tmp \
|
|
&& mv $@-tmp $(srcdir)/po/BLD-POTFILES.in
|
|
|
|
ldmain.@OBJEXT@: ldmain.c config.status
|
|
if am__fastdepCC
|
|
$(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
|
|
$(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
|
|
$(AM_V_CC)$(COMPILE) -c -DDEFAULT_EMULATION='"$(EMUL)"' \
|
|
-DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \
|
|
-DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \
|
|
$(srcdir)/ldmain.c
|
|
endif
|
|
|
|
ldfile.@OBJEXT@: ldfile.c config.status
|
|
if am__fastdepCC
|
|
$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \
|
|
-DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \
|
|
$(srcdir)/ldfile.c
|
|
$(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
|
|
$(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
|
|
$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \
|
|
-DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" eelf32_spu.c
|
|
$(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
|
|
$(AM_V_CC)$(COMPILE) -c -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" \
|
|
eelf32_spu.c
|
|
endif
|
|
|
|
ldemul-list.h: Makefile
|
|
(echo "/* This file is automatically generated. DO NOT EDIT! */";\
|
|
for f in `echo " " ${EMULATION_OFILES} "" \
|
|
| sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
|
|
echo "extern ld_emulation_xfer_type ld_$${f}_emulation;"; \
|
|
done;\
|
|
echo "";\
|
|
echo "#define EMULATION_LIST \\";\
|
|
for f in `echo " " ${EMULATION_OFILES} "" \
|
|
| sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
|
|
echo " &ld_$${f}_emulation, \\"; \
|
|
done;\
|
|
echo " 0") >ldemul-tmp.h
|
|
mv ldemul-tmp.h ldemul-list.h
|
|
|
|
ldscripts/stamp:
|
|
$(AM_V_GEN)test -d $(@D) || mkdir $(@D); touch $@
|
|
|
|
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 ldscripts/stamp
|
|
|
|
@TDIRS@
|
|
|
|
e%.c:
|
|
$(AM_V_GEN)${GENSCRIPTS} $* "$(tdir_$*)"
|
|
|
|
$(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
|
|
|
|
#Dummy rule to prevent make considering e%.c as a source for missing
|
|
#.Pc files (and they are all missing until the e*.c files are generated).
|
|
#For example, we don't want e.deps/emmo.Pc.c to be tried when
|
|
#.deps/emmo.Pc is missing.
|
|
%.Pc:
|
|
|
|
@AMDEP_TRUE@-include $(patsubst %.c,./$(DEPDIR)/%.Pc,$(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES))
|
|
|
|
# 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 += ldelf.c ldelfgen.c pdb.c pep-dll.c pe-dll.c \
|
|
pep-dll-aarch64.c pep-dll-x86_64.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) $(ZSTD_LIBS) $(JANSSON_LIBS)
|
|
|
|
# Dependency tracking for the generated emulation files.
|
|
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 .)
|
|
srcroot=`cd $(srcdir) && pwd`; export srcroot; \
|
|
r=`pwd`; export r; \
|
|
LC_ALL=C; export LC_ALL; \
|
|
EXPECT=$(EXPECT); export EXPECT; \
|
|
runtest=$(RUNTEST); \
|
|
if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
|
|
$$runtest --tool $(DEJATOOL) --srcdir $${srcroot}/testsuite \
|
|
CC="$(CC)" CFLAGS="$(CFLAGS)" \
|
|
CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" \
|
|
CC_FOR_TARGET="$(CC_FOR_TARGET)" \
|
|
CFLAGS_FOR_TARGET="$(filter-out -ffile-prefix-map=%,$(CFLAGS_FOR_TARGET))" \
|
|
CXX_FOR_TARGET="$(CXX_FOR_TARGET)" \
|
|
CXXFLAGS_FOR_TARGET="$(filter-out -ffile-prefix-map=%,$(CXXFLAGS_FOR_TARGET))" \
|
|
OFILES="$(OFILES)" BFDLIB="$(TESTBFDLIB)" CTFLIB="$(TESTCTFLIB) $(ZLIB)" \
|
|
SFRAMELIB="$(TESTSFRAMELIB)" \
|
|
JANSSON_LIBS="$(JANSSON_LIBS)" ZSTD_LIBS="$(ZSTD_LIBS)" \
|
|
LIBIBERTY="$(LIBIBERTY) $(LIBINTL)" LIBS="$(LIBS)" \
|
|
DO_COMPARE="`echo '$(do_compare)' | sed -e 's,\\$$,,g'`" \
|
|
$(RUNTESTFLAGS); \
|
|
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
|
|
fi
|
|
|
|
development.exp: $(BFDDIR)/development.sh
|
|
$(AM_V_GEN)$(EGREP) "(development|experimental)=" $(BFDDIR)/development.sh \
|
|
| $(AWK) -F= '{ print "set " $$1 " " $$2 }' > $@
|
|
|
|
enablings.exp:
|
|
$(AM_V_GEN)echo "set enable_libctf ${enable_libctf}" >> $@
|
|
#
|
|
#
|
|
# Build a dummy plugin using libtool.
|
|
#
|
|
noinst_LTLIBRARIES = libldtestplug.la libldtestplug2.la \
|
|
libldtestplug3.la libldtestplug4.la
|
|
libldtestplug_la_SOURCES = testplug.c
|
|
libldtestplug_la_CFLAGS= -g -O2
|
|
libldtestplug_la_LDFLAGS = -no-undefined -rpath /nowhere
|
|
libldtestplug2_la_SOURCES = testplug2.c
|
|
libldtestplug2_la_CFLAGS= -g -O2
|
|
libldtestplug2_la_LDFLAGS = -no-undefined -rpath /nowhere
|
|
libldtestplug3_la_SOURCES = testplug3.c
|
|
libldtestplug3_la_CFLAGS= -g -O2
|
|
libldtestplug3_la_LDFLAGS = -no-undefined -rpath /nowhere
|
|
libldtestplug4_la_SOURCES = testplug4.c
|
|
libldtestplug4_la_CFLAGS= -g -O2
|
|
libldtestplug4_la_LDFLAGS = -no-undefined -rpath /nowhere
|
|
|
|
bfdplugindir = $(libdir)/bfd-plugins
|
|
bfdplugin_LTLIBRARIES = libdep.la
|
|
libdep_la_SOURCES = libdep_plugin.c
|
|
libdep_la_LDFLAGS = -no-undefined -rpath /nowhere -module -avoid-version
|
|
libdep_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
|
--tag=disable-static \
|
|
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
|
$(libdep_la_LDFLAGS) $(LDFLAGS) -o $@
|
|
|
|
# DOCUMENTATION TARGETS
|
|
# Manual configuration file; not usually attached to normal configuration,
|
|
# because almost all configs use "gen" version of manual.
|
|
# Set DOCVER above to change.
|
|
configdoc.texi: ${DOCVER}-doc.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
|
|
$(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)
|
|
$(AM_V_at)rm -f ld.pod
|
|
|
|
# Build the man page from the texinfo file
|
|
# The sed command removes the no-adjust Nroff command so that
|
|
# the man output looks standard.
|
|
ldint.1: $(srcdir)/ldint.texi configdoc.texi
|
|
$(AM_V_GEN)touch $@
|
|
$(AM_V_at)-$(TEXI2POD) $(MANCONF) < $(srcdir)/ldint.texi > ldint.pod
|
|
$(AM_V_at)-($(POD2MAN) ldint.pod | \
|
|
sed -e '/^.if n .na/d' > $@.T$$$$ && \
|
|
mv -f $@.T$$$$ $@) || \
|
|
(rm -f $@.T$$$$ && exit 1)
|
|
$(AM_V_at)rm -f ldint.pod
|
|
|
|
MAINTAINERCLEANFILES = configdoc.texi ld.1 ldint.1
|
|
|
|
# We want to reconfigure if configure.host or configure.tgt changes.
|
|
# development.sh is used to determine -Werror default.
|
|
CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host $(srcdir)/configure.tgt \
|
|
$(BFDDIR)/development.sh
|
|
|
|
EXTRA_DEJAGNU_SITE_CONFIG = development.exp enablings.exp
|
|
|
|
MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \
|
|
ldemul-list.h crtbegin.@OBJEXT@ crtend.@OBJEXT@ ld.log ld.sum
|
|
mostlyclean-local:
|
|
-rm -rf tmpdir
|
|
CLEANFILES = dep.sed DEP DEPA DEP1 DEP2 spu_ovl.s spu_ovl.@OBJEXT@ spu_icache.s spu_icache.@OBJEXT@
|
|
|
|
.PHONY: install-exec-local install-data-local
|
|
|
|
install-exec-local: ld-new$(EXEEXT) install-binPROGRAMS
|
|
$(mkinstalldirs) $(DESTDIR)$(tooldir)/bin
|
|
n=`echo $(installed_linker) | sed '$(transform)'`; \
|
|
if test "$(bindir)" != "$(tooldir)/bin"; then \
|
|
rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
|
|
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \
|
|
|| $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
|
|
fi; \
|
|
if test "x$(install_as_default)" = "xyes"; then \
|
|
ld=`echo ld | sed '$(transform)'`; \
|
|
rm -f $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \
|
|
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT) >/dev/null 2>/dev/null \
|
|
|| $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \
|
|
if test "$(bindir)" != "$(tooldir)/bin"; then \
|
|
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
|
|
ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
|
|
|| $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
|
|
fi; \
|
|
fi
|
|
|
|
install-data-local: install-bfdpluginLTLIBRARIES
|
|
$(mkinstalldirs) $(DESTDIR)$(scriptdir)/ldscripts
|
|
for f in ldscripts/* ; do \
|
|
case $$f in \
|
|
stamp) ;; \
|
|
*) $(INSTALL_DATA) $$f $(DESTDIR)$(scriptdir)/$$f ; \
|
|
esac \
|
|
done
|
|
rm -f $(DESTDIR)$(bfdplugindir)/libdep.la
|
|
rm -f $(DESTDIR)$(bfdplugindir)/libdep.dll.a
|
|
|
|
# Stuff that should be included in a distribution. The diststuff
|
|
# target is run by the taz target in ../Makefile.in.
|
|
EXTRA_DIST = ldgram.c ldgram.h ldlex.c emultempl/spu_ovl.@OBJEXT@_c \
|
|
emultempl/spu_icache.@OBJEXT@_c deffilep.c deffilep.h $(man_MANS)
|
|
diststuff: info $(EXTRA_DIST)
|
|
|
|
# Both info (ld.info) and ld.1 depend on configdoc.texi.
|
|
# But info isn't a direct target. Make info-recursive to depend on
|
|
# ld.1 to support parallel build.
|
|
info-recursive: ld.1
|
|
|
|
html-local: doc/ld/index.html
|
|
doc/ld/index.html: ld.texi $(ld_TEXINFOS)
|
|
$(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
|
|
distclean-local:
|
|
rm -rf ldscripts
|
|
|
|
MAINTAINERCLEANFILES += ld.info
|