4e6f9223b1
* cpu-a29k.c, cpu-i386.c, cpu-m68k.c, cpu-mips.c, cpu-vax.c, cpu-h8300.c, cpu-i960.c, cpu-m88k.c, cpu-sparc.c: added. These files will eventually contain processor specific bits for bfd, like strange relocation information and dis/assembly. So far only the H8 has been even partially done. This work also ties in with the change in handling architectures. * aout-f1.h: (choose_reloc_size) now calls bfd_get_arch to discover the architecture of the bfd. (sunos4_callback) calls the function bfd_set_arch_mach rather than stuffing stuff directly into the bfd. (sunos4_write_object_contents), changed names of accessor functions. * aoutx.h: (set_arch_mach) now calls bfd_default_set_arch_mach to setup the environment. * archive.c: (bfd_slurp_coff_armap) coff archives always have the headers in big endian format, regardless of the endianess of the host or target. * archures.c: totally changed. Now an architecture is represented with a pointer to an info structure rather than an enumerated type and a long. The old info is available as two elements in the structure. Future enhancements to architecure support will involve pointers to methods being placed into the info structure. * bfd.c: changed the definition of the bfd structure for the new architecture stuff. * bout.c: (b_out_set_arch_mach) changed to use the new architecture mechanism. * coffcode.h: (coff_set_arch_mach, coff_set_flags) changed to use the new architecture mechanism. * configure.in: added h8 stuff. * ieee.c: too many changes to note. Now ieee files written with bfd gas and ld can be read by gld and ieee only linkers and simulators. * libbfd.c, libbfd.h: changed prototype of bfd_write. * newsos3.c: (newos3_callback) now calls bfd_set_arch_mach rather than fixing the structure directly. * oasys.c: (oasys_object_p) now calls bfd_default_set_arch_mach rather than fixing the structure directly. * opncls.c: (new_bfd) makes sure that bfd_init has been called before opening a bfd. * srec.c: (srec_set_arch_mach) now calls bfd_default_set_arch_mach rather than fixing the structure directly. * targets.c: (target_vector) now by defining SELECT_VECS (perhaps in the t/hmake file) a user can select which backends they want linked with bfd without changing the source. * init.c: new, looks after initializing modules. * howto.c: for future use, will allow an application to work out what cookie to use as a handle on a relcoatio howto.
154 lines
2.5 KiB
Text
154 lines
2.5 KiB
Text
# This file is a shell script 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=libbfd.c
|
|
srcname="bfd"
|
|
|
|
# per-host:
|
|
|
|
if [ "${host_os}" = "posix" ] ; then
|
|
bfd_host=posix
|
|
else
|
|
case "${host_cpu}" in
|
|
rs6000) bfd_host=aix ;;
|
|
mips)
|
|
case "${host_vendor}" in
|
|
dec) bfd_host=dec3100 ;;
|
|
sgi) bfd_host=irix3 ;;
|
|
esac
|
|
;;
|
|
m88k)
|
|
case "${host_vendor}" in
|
|
*)
|
|
case "${host_os}" in
|
|
dgux) bfd_host=dgux ;;
|
|
esac
|
|
;;
|
|
esac
|
|
;;
|
|
m68k)
|
|
case "${host_vendor}" in
|
|
hp)
|
|
case "${host_os}" in
|
|
hpux) bfd_host=hp9000 ;;
|
|
bsd) bfd_host=hp300bsd ;;
|
|
esac
|
|
;;
|
|
sony) bfd_host=news ;;
|
|
sun) bfd_host=sun3 ;;
|
|
esac
|
|
;;
|
|
|
|
i386)
|
|
case "${host_vendor}" in
|
|
*)
|
|
case "${host_os}" in
|
|
sysv) bfd_host=i386v ;;
|
|
esac
|
|
;;
|
|
esac
|
|
;;
|
|
|
|
sparc)
|
|
case "${host_vendor}" in
|
|
sun) bfd_host=sun4 ;;
|
|
esac
|
|
;;
|
|
|
|
rtpc) bfd_host=rtbsd
|
|
;;
|
|
|
|
a29k) bfd_host=ultra3
|
|
;;
|
|
|
|
tahoe | vax)
|
|
bfd_host=${host_cpu}
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
if [ ! -f config/h-${bfd_host} ] ; then
|
|
echo '***' BFD does not support host ${host}: no file config/h-${bfd_host}
|
|
exit 1
|
|
fi
|
|
|
|
host_makefile_frag=config/h-${bfd_host}
|
|
|
|
# per-target:
|
|
|
|
case "${target_vendor}" in
|
|
aout | coff | bout) bfd_target=${target_cpu}-${target_vendor} ;;
|
|
sony) bfd_target=news ;;
|
|
intel) bfd_target=${target_cpu}-coff ;;
|
|
|
|
hitachi)
|
|
case "${target_cpu}" in
|
|
h8300) bfd_target=h8300-ieee ;;
|
|
*) echo "bad hitachi cpu" ;;
|
|
esac
|
|
;;
|
|
|
|
|
|
wrs)
|
|
case "${target_cpu}" in
|
|
i960) bfd_target=i960-bout ;;
|
|
m68k) bfd_target=m68k-aout ;;
|
|
esac
|
|
;;
|
|
sun)
|
|
case "${target_cpu}" in
|
|
m68k) bfd_target=m68k-aout ;;
|
|
sparc) bfd_target=sparc-aout ;;
|
|
esac
|
|
;;
|
|
dec)
|
|
case "${target_cpu}" in
|
|
mips) bfd_target=dec3100 ;;
|
|
esac
|
|
;;
|
|
hp)
|
|
case "${target_cpu}" in
|
|
m68k)
|
|
case "${target_os}" in
|
|
hpux) bfd_target=hp9000 ;;
|
|
bsd) bfd_target=hp300bsd ;;
|
|
esac
|
|
;;
|
|
esac
|
|
;;
|
|
sgi)
|
|
case "${target_cpu}" in
|
|
mips)
|
|
bfd_target=irix3 ;;
|
|
esac
|
|
;;
|
|
none|nyu)
|
|
case "${target_cpu}" in
|
|
i386) bfd_target=i386-coff ;;
|
|
a29k) case "${target_os}" in
|
|
aout) bfd_target=a29k-aout ;;
|
|
coff) bfd_target=a29k-coff ;;
|
|
sym1) bfd_target=a29k-coff ;;
|
|
esac
|
|
;;
|
|
tahoe | vax) bfd_target=${target_cpu} ;;
|
|
esac
|
|
;;
|
|
*)
|
|
case "${target_cpu}" in
|
|
tahoe | vax) bfd_target=${target_cpu} ;;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
if [ ! -f config/t-${bfd_target} ] ; then
|
|
echo '***' BFD does not support target ${target}: no file config/t-${bfd_target}
|
|
exit 1
|
|
fi
|
|
|
|
target_makefile_frag=config/t-${bfd_target}
|
|
|
|
files=
|
|
links=
|