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]
Other format: [Raw text]

[PATCH/RFA] MIPS breakage with MDMX changes


Hi Chris...

I'm seeing some new testsuite failures for gcc when used with a freshly
CVS update'd binutils ... The failure mode I'm seeing is:

/usr/local/gnu/mipseb-unknown-netbsd/bin/ld: /amd/yeah-baby/u1/hack/gnu-toolchai
n/gcc/build/mipseb-mipseb/gcc/libgcc.a(unwind-dw2.o): uses different e_flags (0x
8000002) fields than previous modules (0x2)^M

That flag appears to be:

/* Use MDMX multimedia extensions */
#define EF_MIPS_ARCH_ASE_MDMX   0x08000000  

...which my R4400 certainly does not have :-)

Gas sets that bit like so:

  if (file_ase_mdmx)
    elf_elfheader (stdoutput)->e_flags |= EF_MIPS_ARCH_ASE_MDMX;

file_ase_mdmx is set via mips_opts.ase_mdmx, which is initialized to -1,
which appears to mean that file_ase_mdmx will be set to -1 unless an
explicit -mno-mdmx is used, thus causing the bit to be erroneously set.

It looks like the mips3d stuff has the same problem (although no bits get
set in that case).  I think the default handling of ase_mips3d and ase_mdmx
should be like the attached patch.

	* config/tc-mips.c (mips_after_parse_args): Fix default handling
	of mips_opts.ase_mips3d and mips_opts.ase_mdmx.

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>

Attachment: mips-patch
Description: Text document


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