a mismatch in warning message from elfxx-mips.c

Amker.Cheng amker.cheng@gmail.com
Sat Oct 9 12:21:00 GMT 2010


>> switch (out_attr[Tag_GNU_MIPS_ABI_FP].i)
>>         {
>>         case 1:
>>           switch (in_attr[Tag_GNU_MIPS_ABI_FP].i)
>>             {
>>             case 2:
>>               _bfd_error_handler
>>                 (_("Warning: %B uses -msingle-float, %B uses -mdouble-float"),
>> <---------------here, should be double-float
>>                  obfd, ibfd);
>>               break;
>>
>> I guess it should be:  %B uses -mdouble-float, %B uses -mdouble-float,
>> according to the definition of Tag_GNU_MIPS_ABI_FP in file include/elf/mips.h
>
>  Muphry's law strikes again!  I think you meant to say that -msingle-float
> and -mdouble-float should be exchanged in the original text.  Or perhaps obfd
> and ibfd should be swapped in the argument list.
>
Oops, actually I meant following piece of code:
        switch (out_attr[Tag_GNU_MIPS_ABI_FP].i)
          {
          case 1:
            switch (in_attr[Tag_GNU_MIPS_ABI_FP].i)
              {
              case 4:  <---------------------------this
                _bfd_error_handler
                  (_("Warning: %B uses -msingle-float, %B uses
-mips32r2 -mfp64"),
                   obfd, ibfd);
                break;

              default:
                abort ();
              }
            break;

The -msingle-float should be -mdouble-float in this case.

But yes, seems all single/double-float should be exchanged in the
switch statement,
Did not notice this before :(

Thanks
-- 
Best Regards.



More information about the Binutils mailing list