This is the mail archive of the binutils@sourceware.org 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]

[BUILDROBOT] error: comparison between ‘bfd_reloc_code_real_type’ and ‘enum elf_mips_reloc_type’ (was: MIPS: Verify the ISA mode and alignment of branch and jump targets)1;5C


Hi Macro!

On Tue, 2016-07-19 15:09:54 +0100, Maciej W. Rozycki <macro@imgtec.com> wrote:
> Verify that the ISA mode of branch targets is the same as the referring 
> relocation, so that an attempt to produce a branch between instructions 
> encoded in different ISA modes each causes an error rather than silently 
> producing non-functional code.  Make sure that no symbol or addend bits 
> are silently truncated: terminate with an error if the relocation value 
> calculated cannot be encoded in the relocatable field of a branch; for
> REL targets also applying to any intermediate addend.
> [Patch attached compressed, due to its size.]

On gcc21 (compile farm), I'm seeing this with Ubuntu 4.8.4-2ubuntu1~14.04.3:


gcc -DHAVE_CONFIG_H -I. -I/scratch/4/jbglaw/regular/repos/binutils_gdb/gas  -I. -I/scratch/4/jbglaw/regular/repos/binutils_gdb/gas -I../bfd -I/scratch/4/jbglaw/regular/repos/binutils_gdb/gas/config -I/scratch/4/jbglaw/regular/repos/binutils_gdb/gas/../include -I/scratch/4/jbglaw/regular/repos/binutils_gdb/gas/.. -I/scratch/4/jbglaw/regular/repos/binutils_gdb/gas/../bfd -DLOCALEDIR="\"/scratch/4/jbglaw/regular/build/mips-linux/_install_/share/locale\""  -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -Wwrite-strings -I/scratch/4/jbglaw/regular/repos/binutils_gdb/gas/../zlib -g -O2 -MT tc-mips.o -MD -MP -MF .deps/tc-mips.Tpo -c -o tc-mips.o `test -f 'config/tc-mips.c' || echo '/scratch/4/jbglaw/regular/repos/binutils_gdb/gas/'`config/tc-mips.c
/scratch/4/jbglaw/regular/repos/binutils_gdb/gas/config/tc-mips.c: In function ‘mips_force_relocation’:
/scratch/4/jbglaw/regular/repos/binutils_gdb/gas/config/tc-mips.c:14807:24: error: comparison between ‘bfd_reloc_code_real_type’ and ‘enum elf_mips_reloc_type’ [-Werror=enum-compare]
   if ((fixp->fx_r_type == R_MIPS_PC26_S2
                        ^
/scratch/4/jbglaw/regular/repos/binutils_gdb/gas/config/tc-mips.c:14808:27: error: comparison between ‘bfd_reloc_code_real_type’ and ‘enum elf_mips_reloc_type’ [-Werror=enum-compare]
        || fixp->fx_r_type == R_MIPS_PC21_S2
                           ^
/scratch/4/jbglaw/regular/repos/binutils_gdb/gas/config/tc-mips.c: In function ‘fix_bad_cross_mode_branch_p’:
/scratch/4/jbglaw/regular/repos/binutils_gdb/gas/config/tc-mips.c:14959:17: error: variable ‘opcode’ set but not used [-Werror=unused-but-set-variable]
   unsigned long opcode;
                 ^
cc1: all warnings being treated as errors
make[3]: *** [tc-mips.o] Error 1


The first two (R_MIPS_PC21_S2 comparisons) still hold true, the opcode
warning might be gone since the latest change.

MfG, JBG

-- 
      Jan-Benedict Glaw      jbglaw@lug-owl.de              +49-172-7608481
Signature of:                     Eine Freie Meinung in einem Freien Kopf
the second  :                   für einen Freien Staat voll Freier Bürger.

Attachment: signature.asc
Description: Digital signature


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