[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
mips-elf-as problem - Can not represent BFD_RELOC_16_PCREL_S2 relocatio
From: |
Fred Fish |
Subject: |
mips-elf-as problem - Can not represent BFD_RELOC_16_PCREL_S2 relocation... |
Date: |
Mon, 30 Dec 2002 13:00:25 -0700 (MST) |
I just updated a mips toolchain to the latest binutils (as of this
morning) and found a regression. I narrowed it down to this code
example:
.globl outbyte
outbyte:
beqz $2,outbyte
When configured for mips-elf, the assembler produces:
bug.s:3: Error: Can not represent BFD_RELOC_16_PCREL_S2 relocation in this
object file format
I backtracked it to tc_gen_reloc() in tc-mips.c:
/* To support a PC relative reloc when generating embedded PIC code
for ECOFF, we use a Cygnus extension. We check for that here to
make sure that we don't let such a reloc escape normally. */
if ((OUTPUT_FLAVOR == bfd_target_ecoff_flavour
|| OUTPUT_FLAVOR == bfd_target_elf_flavour)
&& code == BFD_RELOC_16_PCREL_S2
&& mips_pic != EMBEDDED_PIC)
reloc->howto = NULL;
else
reloc->howto = bfd_reloc_type_lookup (stdoutput, code);
if (reloc->howto == NULL)
{
as_bad_where (fixp->fx_file, fixp->fx_line,
_("Can not represent %s relocation in this object file
format"),
bfd_get_reloc_code_name (code));
retval[0] = NULL;
}
Using a previous binutils build that does not exhibit the problem
shows that "code" used to be BFD_RELOC_16_PCREL, but is now
BFD_RELOC_16_PCREL_S2.
-Fred
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- mips-elf-as problem - Can not represent BFD_RELOC_16_PCREL_S2 relocation...,
Fred Fish <=