This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
[patch] gas: Fix selection of formats/files from emulations for MIPS
- To: binutils at sources dot redhat dot com
- Subject: [patch] gas: Fix selection of formats/files from emulations for MIPS
- From: cgd at sibyte dot com (Chris G. Demetriou)
- Date: 10 Feb 2001 14:11:00 -0800
Rev 1.27 of gas/configure.in changed the emulation->format mapping
code to be more generic. it changed:
! i386aout)
! fmt=aout file=i386aout ;;
! i386coff)
! fmt=coff file=i386coff ;;
! i386elf)
! fmt=elf file=i386elf ;;
to:
! *coff)
! fmt=coff file=$em ;;
! *aout)
! fmt=aout file=$em ;;
! *elf)
! fmt=elf file=$em ;;
Problem is, various MIPS targets were already including the following
emulations:
mipslelf *
mipsbelf *
mipself
mipslecoff *
mipsbecoff *
mipsecoff
The ones marked with (*) are explicitly named and specially handled by
the emulation -> format/file mapping code, but two aren't: mipself and
mipsecoff.
It doesn't actually look like 'mipself' causes much trouble, but
'mipsecoff' turns into 'coff', and building a 'mips-ecoff' target
doesn't properly build ecoff.c because of it. (ECOFF_DEBUGGING never
gets defined.)
The following patch makes the behaviour of the emulation->format
for MIPS match its pre-1.27 behaviour.
I've verified that mips-elf still builds and 'make check's as well as
before this patch.
Without this patch, mips-ecoff doesn't build at all, so there wasn't
much to compare against, eh? 8-)
(Looking at the code, there might be some call for having a case
matching "*ecoff" -- but nothing would use it right now and I don't
know for 100% sure that wouldn't break anything, so... *punt*)
Apply in 'gas':
2001-02-10 Chris Demetriou <cgd@broadcom.com>
* configure.in: Make 'mipself' and 'mipsecoff' emulations
map to MIPS-specific files, as they used to do before the
change on 2000-05-21.
* configure: Regerate.
Index: configure.in
===================================================================
RCS file: /cvs/src/src/gas/configure.in,v
retrieving revision 1.56
diff -c -r1.56 configure.in
*** configure.in 2001/02/10 00:55:52 1.56
--- configure.in 2001/02/10 22:08:25
***************
*** 728,736 ****
for em in . $emulations ; do
case $em in
.) continue ;;
! mipsbelf | mipslelf)
fmt=elf file=mipself ;;
! mipsbecoff | mipslecoff)
fmt=ecoff file=mipsecoff ;;
*coff)
fmt=coff file=$em ;;
--- 728,736 ----
for em in . $emulations ; do
case $em in
.) continue ;;
! mipsbelf | mipslelf | mipself)
fmt=elf file=mipself ;;
! mipsbecoff | mipslecoff | mipsecoff)
fmt=ecoff file=mipsecoff ;;
*coff)
fmt=coff file=$em ;;