Linux/mips is broken now
H. J. Lu
hjl@lucon.org
Wed Jul 31 12:52:00 GMT 2002
On Wed, Jul 31, 2002 at 12:29:49PM -0700, Eric Christopher wrote:
> On Wed, 2002-07-31 at 12:27, H. J. Lu wrote:
> > The current binutils is broken on Linux/mips. There are at least 2
> > problems:
> >
> > 1. mips*el-linux/mips*-linux are now 32bit by default in BFD. But ld
> > still includes 64bit ELF/MIPS emulations.
> > 2. Why aren't n32 included in mips*el-linux/mips*-linux when 64bit
> > BFD is selected?
> >
>
> I saw some of these the other day as well.
>
> I'll see what I can do as far as patches...
>
Here is what I got. Please take a look.
Thanks.
H.J.
-------------- next part --------------
bfd/
2002-07-31 H.J. Lu <hjl@gnu.org>
* config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
is selected.
ld/
2002-07-31 H.J. Lu <hjl@gnu.org>
* configure.tgt: Enable 64bit emulations for 32bit Linux/mips
if 64bit BFD is selected.
--- binutils/bfd/config.bfd.mips Wed Jul 31 08:53:23 2002
+++ binutils/bfd/config.bfd Wed Jul 31 12:35:29 2002
@@ -759,12 +759,12 @@ case "${targ}" in
mips*el-*-linux*)
targ_defvec=bfd_elf32_tradlittlemips_vec
targ_selvecs="bfd_elf32_tradbigmips_vec ecoff_little_vec ecoff_big_vec"
- targ64_selvecs="bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
+ targ64_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec"
;;
mips*-*-linux*)
targ_defvec=bfd_elf32_tradbigmips_vec
targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
- targ64_selvecs="bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
+ targ64_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec"
;;
#ifdef BFD64
mmix-*-*)
--- binutils/ld/configure.tgt.mips Wed Jul 31 08:54:17 2002
+++ binutils/ld/configure.tgt Wed Jul 31 12:38:29 2002
@@ -396,10 +396,16 @@ mips64*-*-linux-gnu*) targ_emul=elf32bts
targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
;;
mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
- targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip"
+ targ_extra_emuls="elf32btsmip"
+ if test x${want64} = xtrue; then
+ targ_extra_emuls="$targ_extra_emuls elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
+ fi
;;
mips*-*-linux-gnu*) targ_emul=elf32btsmip
- targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip"
+ targ_extra_emuls="elf32ltsmip"
+ if test x${want64} = xtrue; then
+ targ_extra_emuls="$targ_extra_emuls elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
+ fi
;;
mips*-*-lnews*) targ_emul=mipslnews ;;
mips*-*-sysv4*) targ_emul=elf32btsmip ;;
More information about the Binutils
mailing list