8ddef5528d
It wasn't documented (or likely used) and wastes time. (try_open): If EXTEN is empty, don't try it. * ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c, ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c, ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls with normal function declarations. * Move *.em to emultempl/*.em. Move *.sh to emulparams/*.sh. Move *.sc-sh to scripttempl/*.sc. * {emultempl,emulparams,scripttempl}/README: New files. * sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files removed, replaced with generic.em. * h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from h8[35]00hms.s[ch]. Change their contents to omit the "hms". * *.em (*_get_script): Return script name instead of script contents. * ldlang.c (lang_process): Change caller. * ldlex.l, ldgram.y: Recognize -m option. Check for input files after *all* options in grammar. * ldmain.c (main): Check for -m options. Add default directory for -m. * mkscript.c: File removed. * genscripts.sh: Take two more parameters, tooldirlib and libdir, to add to the default LIB_PATH. Look for input files in the new subdirectories. Create the scripts in emulations subdirectory and don't filter them through mkscript. * configure.in: Make the emulations subdirectory. * Makefile.in: Account for all of the above changes. Remove unused .SUFFIXES. Get libgcc.a path with gcc -print-libgcc-file-name instead of $(libdir)/libgcc.a. Put CFLAGS last in the compilation rules. Add -I../bfd to INCLUDES so sysdep.h is found. * ldfile.c (try_open): If opening without the extension fails, try with the extension even if -v or -V was given. had_script is imported (from ldgram.y), not exported.
129 lines
2.8 KiB
Plaintext
129 lines
2.8 KiB
Plaintext
# This file is a shell script fragment that supplies the information
|
|
# necessary to tailor a template configure script into the configure
|
|
# script appropriate for this directory. For more information, check
|
|
# any existing configure script.
|
|
|
|
srctrigger=ldmain.c
|
|
srcname="linker"
|
|
target_dependent=true
|
|
|
|
# per-host:
|
|
|
|
. ${srcdir}/../bfd/configure.host
|
|
|
|
host_makefile_frag=
|
|
|
|
if [ -f ${srcdir}/config/${my_host}.mh ] ; then
|
|
host_makefile_frag=config/${my_host}.mh
|
|
fi
|
|
|
|
# per-target:
|
|
|
|
case "${target}" in
|
|
|
|
sparc-sun-sunos4*) my_target=sun4
|
|
;;
|
|
m68k-sun-sunos[34]*) my_target=sun3
|
|
;;
|
|
sparclite*-fujitsu-*) my_target=sun4
|
|
;;
|
|
sparc*-*-aout) my_target=sun4
|
|
;;
|
|
# start-sanitize-v9
|
|
sparc64*) my_target=sun4
|
|
;;
|
|
# end-sanitize-v9
|
|
i960-wrs-vxworks*) my_target=i960
|
|
;;
|
|
i960-intel-nindy) my_target=i960
|
|
;;
|
|
m68k-wrs-vxworks*) my_target=vxworks68
|
|
;;
|
|
m680[01234]0-wrs-vxworks*) my_target=vxworks68
|
|
;;
|
|
m683?2-wrs-vxworks*) my_target=vxworks68
|
|
;;
|
|
sparc*-wrs-vxworks*) my_target=sun4
|
|
;;
|
|
m68k-ericsson-ose) my_target=ose68
|
|
;;
|
|
m680[01234]0-ericsson-ose) my_target=ose68
|
|
;;
|
|
m683?2-ericsson-ose) my_target=ose68
|
|
;;
|
|
*-tandem-none) my_target=st2000 # FIXME needs better name
|
|
;;
|
|
i[34]86-*-go32) my_target=go32
|
|
;;
|
|
i[34]86-*-aix*) my_target=i386-coff
|
|
;;
|
|
i[34]86-*-sco*) my_target=i386-coff
|
|
;;
|
|
i[34]86-*-coff) my_target=i386-coff
|
|
;;
|
|
i[34]86-*-bsd) my_target=i386-bsd
|
|
;;
|
|
i[34]86-*-aout) my_target=i386-aout
|
|
;;
|
|
i[34]86-*-sysv*) my_target=i386-coff
|
|
;;
|
|
m88k-*-*) my_target=m88k-bcs
|
|
;;
|
|
a29k-*-udi) my_target=sa29200
|
|
;;
|
|
a29k-*-ebmon) my_target=ebmon29k
|
|
;;
|
|
a29k-*-*) my_target=coff-a29k
|
|
;;
|
|
h8300-*-hms) my_target=coff-h8300
|
|
;;
|
|
h8500-*-hms) my_target=coff-h8500
|
|
;;
|
|
# start-sanitize-sh
|
|
sh-*-*) my_target=coff-sh
|
|
;;
|
|
# end-sanitize-sh
|
|
m68k-sony-*) my_target=news
|
|
;;
|
|
m68k-hp-bsd*) my_target=hp300bsd
|
|
;;
|
|
m68*-*-aout) my_target=m68k
|
|
;;
|
|
m68*-*-coff) my_target=m68k-coff
|
|
;;
|
|
m68*-*-hpux) my_target=hp300hpux
|
|
;;
|
|
m68*-*-*) echo '***' "Unknown m68k target vendor for ld:" ${target_vendor} 1>&2
|
|
exit 1
|
|
;;
|
|
hppa*-hp-osf) my_target=hppaosf
|
|
;;
|
|
vax-dec-ultrix* | vax-dec-bsd*) my_target=vax
|
|
;;
|
|
mips-dec-ultrix*) my_target=mips-lit
|
|
;;
|
|
mips-sgi-irix*) my_target=mips-big
|
|
;;
|
|
mips-idt-ecoffl*) my_target=mips-idtl
|
|
;;
|
|
mips-idt-ecoff*) my_target=mips-idt
|
|
;;
|
|
mips-dec-bsd*) my_target=mipsbsd
|
|
;;
|
|
z8k-*sim) my_target=z8ksim
|
|
;;
|
|
*-*-aout) my_target=${target_cpu}-${target_vendor}
|
|
;;
|
|
*-*-coff) my_target=${target_cpu}-${target_vendor}
|
|
;;
|
|
esac
|
|
|
|
target_makefile_frag=config/${my_target}.mt
|
|
|
|
if [ ! -r ${srcdir}/${target_makefile_frag} ]; then
|
|
echo '***' GNU LD does not support target ${target} 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
mkdir emulations 2>/dev/null
|