This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[patch] gas: Fix selection of formats/files from emulations for MIPS


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 ;;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]