diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2001-05-25 05:39:22 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2001-05-25 05:39:22 +0000 |
commit | 86af25fe1d986f332c3502d83fbc499eabfb515d (patch) | |
tree | ea854c5b5a529938abeb5be81a4fe58ebaf8125e /ld/emultempl | |
parent | 936f9717c08e578286f89e1eaff99f35ebd05c1d (diff) | |
download | gdb-86af25fe1d986f332c3502d83fbc499eabfb515d.zip gdb-86af25fe1d986f332c3502d83fbc499eabfb515d.tar.gz gdb-86af25fe1d986f332c3502d83fbc499eabfb515d.tar.bz2 |
2001-05-24 H.J. Lu <hjl@gnu.org>
* emultempl/aix.em (OUTPUT_ARCH): Defined.
(gld${EMULATION_NAME}_before_parse): Initialize
ldfile_output_architecture, ldfile_output_machine and
ldfile_output_machine_name from ${OUTPUT_ARCH} if possible.
* emultempl/beos.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/linux.em: Likewise.
* emultempl/mipsecoff.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/sunos.em: Likewise.
Diffstat (limited to 'ld/emultempl')
-rw-r--r-- | ld/emultempl/aix.em | 15 | ||||
-rw-r--r-- | ld/emultempl/beos.em | 15 | ||||
-rw-r--r-- | ld/emultempl/elf32.em | 15 | ||||
-rw-r--r-- | ld/emultempl/linux.em | 15 | ||||
-rw-r--r-- | ld/emultempl/mipsecoff.em | 15 | ||||
-rw-r--r-- | ld/emultempl/pe.em | 15 | ||||
-rw-r--r-- | ld/emultempl/sunos.em | 15 |
7 files changed, 98 insertions, 7 deletions
diff --git a/ld/emultempl/aix.em b/ld/emultempl/aix.em index 88d13b2..b88960c 100644 --- a/ld/emultempl/aix.em +++ b/ld/emultempl/aix.em @@ -1,5 +1,10 @@ # This shell script emits a C file. -*- C -*- # It does some substitutions. +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi cat >e${EMULATION_NAME}.c <<EOF /* This file is is generated by a shell script. DO NOT EDIT! */ @@ -114,7 +119,15 @@ static void gld${EMULATION_NAME}_before_parse() { #ifndef TARGET_ /* I.e., if not generic. */ - ldfile_output_architecture = bfd_arch_${ARCH}; + const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}"); + if (arch) + { + ldfile_output_architecture = arch->arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; #endif /* not TARGET_ */ config.has_shared = true; diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em index 3c9e3ed..4ad033b 100644 --- a/ld/emultempl/beos.em +++ b/ld/emultempl/beos.em @@ -1,5 +1,10 @@ # This shell script emits a C file. -*- C -*- # It does some substitutions. +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi cat >e${EMULATION_NAME}.c <<EOF /* This file is part of GLD, the Gnu Linker. Copyright 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc. @@ -72,7 +77,15 @@ static void gld_${EMULATION_NAME}_before_parse() { output_filename = "a.exe"; - ldfile_output_architecture = bfd_arch_${ARCH}; + const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}"); + if (arch) + { + ldfile_output_architecture = arch->arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; } /* PE format extra command line options. */ diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index c5ffe14..cce6b3e 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -3,6 +3,11 @@ # This file is now misnamed, because it supports both 32 bit and 64 bit # ELF emulations. test -z "${ELFSIZE}" && ELFSIZE=32 +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi cat >e${EMULATION_NAME}.c <<EOF /* This file is is generated by a shell script. DO NOT EDIT! */ @@ -90,7 +95,15 @@ cat >>e${EMULATION_NAME}.c <<EOF static void gld${EMULATION_NAME}_before_parse () { - ldfile_output_architecture = bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`; + const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}"); + if (arch) + { + ldfile_output_architecture = arch->arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`; config.dynamic_link = ${DYNAMIC_LINK-true}; config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo true ; else echo false ; fi`; } diff --git a/ld/emultempl/linux.em b/ld/emultempl/linux.em index 888a3dd..85ed138 100644 --- a/ld/emultempl/linux.em +++ b/ld/emultempl/linux.em @@ -1,5 +1,10 @@ # This shell script emits a C file. -*- C -*- # It does some substitutions. +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi cat >e${EMULATION_NAME}.c <<EOF /* This file is is generated by a shell script. DO NOT EDIT! */ @@ -52,7 +57,15 @@ static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile)); static void gld${EMULATION_NAME}_before_parse() { - ldfile_output_architecture = bfd_arch_${ARCH}; + const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}"); + if (arch) + { + ldfile_output_architecture = arch->arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; config.dynamic_link = true; config.has_shared = true; } diff --git a/ld/emultempl/mipsecoff.em b/ld/emultempl/mipsecoff.em index 205943b..7fc392c 100644 --- a/ld/emultempl/mipsecoff.em +++ b/ld/emultempl/mipsecoff.em @@ -1,5 +1,10 @@ # This shell script emits a C file. -*- C -*- # It does some substitutions. +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi cat >e${EMULATION_NAME}.c <<EOF /* This file is is generated by a shell script. DO NOT EDIT! */ @@ -48,7 +53,15 @@ static void gld${EMULATION_NAME}_before_parse() { #ifndef TARGET_ /* I.e., if not generic. */ - ldfile_output_architecture = bfd_arch_${ARCH}; + const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}"); + if (arch) + { + ldfile_output_architecture = arch->arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; #endif /* not TARGET_ */ } diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 99c40ab..f8dee33 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -1,5 +1,10 @@ # This shell script emits a C file. -*- C -*- # It does some substitutions. +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi rm -f e${EMULATION_NAME}.c (echo;echo;echo;echo;echo)>e${EMULATION_NAME}.c # there, now line numbers match ;-) cat >>e${EMULATION_NAME}.c <<EOF @@ -131,7 +136,15 @@ static void gld_${EMULATION_NAME}_before_parse() { output_filename = "${EXECUTABLE_NAME:-a.exe}"; - ldfile_output_architecture = bfd_arch_${ARCH}; + const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}"); + if (arch) + { + ldfile_output_architecture = arch->arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; #ifdef DLL_SUPPORT config.has_shared = 1; diff --git a/ld/emultempl/sunos.em b/ld/emultempl/sunos.em index c98d87e..d2f62e9 100644 --- a/ld/emultempl/sunos.em +++ b/ld/emultempl/sunos.em @@ -1,5 +1,10 @@ # This shell script emits a C file. -*- C -*- # It does some substitutions. +if [ -z "$MACHINE" ]; then + OUTPUT_ARCH=${ARCH} +else + OUTPUT_ARCH=${ARCH}:${MACHINE} +fi cat >e${EMULATION_NAME}.c <<EOF /* This file is is generated by a shell script. DO NOT EDIT! */ @@ -85,7 +90,15 @@ static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile)); static void gld${EMULATION_NAME}_before_parse() { - ldfile_output_architecture = bfd_arch_${ARCH}; + const bfd_arch_info_type *arch = bfd_scan_arch ("${OUTPUT_ARCH}"); + if (arch) + { + ldfile_output_architecture = arch->arch; + ldfile_output_machine = arch->mach; + ldfile_output_machine_name = arch->printable_name; + } + else + ldfile_output_architecture = bfd_arch_${ARCH}; config.dynamic_link = true; config.has_shared = true; } |