This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: how close to binutils-2.12 previews
- From: "Maciej W. Rozycki" <macro at ds2 dot pg dot gda dot pl>
- To: Eric Christopher <echristo at redhat dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Fri, 15 Feb 2002 20:56:04 +0100 (MET)
- Subject: Re: how close to binutils-2.12 previews
- Organization: Technical University of Gdansk
- Reply-to: "Maciej W. Rozycki" <macro at ds2 dot pg dot gda dot pl>
On 15 Feb 2002, Eric Christopher wrote:
> Can you post the patch again? I appear to have missed it.
The original mail follows.
> Thanks and my apologies.
Not a problem.
---------- Forwarded message ----------
Message-ID: <Pine.GSO.3.96.1020204174826.5750I-100000@delta.ds2.pg.gda.pl>
Date: Tue, 5 Feb 2002 13:13:13 +0100 (MET)
From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
To: binutils@sources.redhat.com
Subject: [patch] binutils current: Small mips*-linux bits
Hello,
Here are two patches comprising a few changes originally by Ulf Carlsson
that haven't been integrated yet. I believe they're worth putting them in
before 2.12.
The first patch implements a warning when an incorrect variation of the
"la" instruction is used. Since the variation used determines the address
width, it's likely incorrect to use "la" in the 64-bit mode or "dla" in
the 32-bit one.
The other one reorders vectors/emulations (purely aesthetical) and
defines primary ones properly for mips64*-linux targets.
bfd/Changelog:
2002-02-04 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* config.bfd (mips*el-*-openbsd*): Vectors reordered for
consistency.
(mips64*el-*-linux*): Likewise.
(mips64*-*-linux*): Likewise.
Patch based upon a work by Ulf Carlsson.
gas/ChangeLog:
2002-02-04 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* config/tc-mips.c (macro): Warn if "la" or "dla" is used in
the 64-bit or the 32-bit mode, respectively.
Patch based upon a work by Ulf Carlsson.
ld/ChangeLog:
2002-02-04 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* configure.tgt (mips64el-*-linux-gnu*): New target.
(mips64*-*-linux-gnu*): Likewise.
Patch based upon a work by Ulf Carlsson.
Maciej
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
binutils-2.11.93-20020129-ulfc-mips-la.patch
diff -up --recursive --new-file binutils.macro/gas/config/tc-mips.c binutils/gas/config/tc-mips.c
--- binutils.macro/gas/config/tc-mips.c Thu Jan 17 04:25:24 2002
+++ binutils/gas/config/tc-mips.c Wed Jan 30 19:43:22 2002
@@ -4569,6 +4569,14 @@ macro (ip)
/* Load the address of a symbol into a register. If breg is not
zero, we then add a base register to it. */
+ if (dbl != HAVE_64BIT_ADDRESSES)
+ {
+ if (dbl)
+ as_warn (_("dla instruction used in 32-bit mode"));
+ else
+ as_warn (_("la instruction used in 64-bit mode"));
+ }
+
if (treg == breg)
{
tempreg = AT;
binutils-2.11.93-20020129-ulfc-mips-conf.patch
diff -up --recursive --new-file binutils.macro/bfd/config.bfd binutils/bfd/config.bfd
--- binutils.macro/bfd/config.bfd Tue Jan 22 04:25:21 2002
+++ binutils/bfd/config.bfd Wed Jan 30 19:47:45 2002
@@ -708,7 +708,7 @@ case "${targ}" in
;;
mips*el-*-openbsd*)
targ_defvec=bfd_elf32_littlemips_vec
- targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec"
+ targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_littlemips_vec bfd_elf64_bigmips_vec ecoff_little_vec ecoff_big_vec"
;;
mips*-*-openbsd*)
targ_defvec=bfd_elf32_bigmips_vec
@@ -716,12 +716,12 @@ case "${targ}" in
;;
#ifdef BFD64
mips64*el-*-linux*)
- targ_defvec=bfd_elf32_tradlittlemips_vec
- targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
+ targ_defvec=bfd_elf64_tradlittlemips_vec
+ targ_selvecs="bfd_elf64_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec"
;;
mips64*-*-linux*)
- targ_defvec=bfd_elf32_tradbigmips_vec
- targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
+ targ_defvec=bfd_elf64_tradbigmips_vec
+ targ_selvecs="bfd_elf64_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec"
;;
#endif
mips*el-*-linux*)
#define TARGET_LITTLE_SYM bfd_elf64_littlemips_vec
diff -up --recursive --new-file binutils.macro/ld/configure.tgt binutils/ld/configure.tgt
--- binutils.macro/ld/configure.tgt Tue Jan 22 04:28:12 2002
+++ binutils/ld/configure.tgt Wed Jan 30 19:43:22 2002
@@ -337,6 +337,12 @@ mips*el-*-rtems*) targ_emul=elf32elmip ;
mips*-*-rtems*) targ_emul=elf32ebmip ;;
mips*el-*-vxworks*) targ_emul=elf32elmip ;;
mips*-*-vxworks*) targ_emul=elf32ebmip ;;
+mips64el-*-linux-gnu*) targ_emul=elf64ltsmip
+ targ_extra_emuls="elf64btsmip elf32ltsmip elf32btsmip"
+ ;;
+mips64*-*-linux-gnu*) targ_emul=elf64btsmip
+ targ_extra_emuls="elf64ltsmip elf32btsmip elf32ltsmip"
+ ;;
mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip"
;;