* Fix compile time warnings in tc-mips.c
@ 2005-04-20 14:35 Nick Clifton
2005-04-20 16:26 ` Maciej W. Rozycki
0 siblings, 1 reply; 4+ messages in thread
From: Nick Clifton @ 2005-04-20 14:35 UTC (permalink / raw)
To: binutils
Hi Guys,
The recent patch improve larger than 32-bit number handling in the
GAS MIPS port produced a few compile time warning messages:
.../gas/config/tc-mips.c: In function `load_register':
.../gas/config/tc-mips.c:3559: warning: right shift count >= width of type
.../gas/config/tc-mips.c: In function `macro':
.../gas/config/tc-mips.c:5804: warning: right shift count >= width of type
.../gas/config/tc-mips.c:6395: warning: right shift count >= width of type
I am applying the patch below to fix this problem, by switching over
to use the sprintf_vma macro to convert the values into readable
text.
Cheers
Nick
gas/ChangeLog
2005-04-20 Nick Clifton <nickc@redhat.com>
* config/tc-mips.c (macro): Use sprintf_vma to convert a > 32 bit
number into a readable string.
(load_register): Likewise.
Index: gas/config/tc-mips.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-mips.c,v
retrieving revision 1.310
diff -c -3 -p -r1.310 tc-mips.c
*** gas/config/tc-mips.c 18 Apr 2005 14:16:10 -0000 1.310
--- gas/config/tc-mips.c 20 Apr 2005 14:34:13 -0000
*************** load_register (int reg, expressionS *ep,
*** 3555,3563 ****
if (!dbl || HAVE_32BIT_GPRS)
{
! as_bad (_("Number (0x%lx%08lx) larger than 32 bits"),
! (unsigned long) (ep->X_add_number >> 32),
! (unsigned long) (ep->X_add_number & 0xffffffff));
macro_build (ep, "addiu", "t,r,j", reg, 0, BFD_RELOC_LO16);
return;
}
--- 3555,3564 ----
if (!dbl || HAVE_32BIT_GPRS)
{
! char value[32];
!
! sprintf_vma (value, ep->X_add_number);
! as_bad (_("Number (%s) larger than 32 bits"), value);
macro_build (ep, "addiu", "t,r,j", reg, 0, BFD_RELOC_LO16);
return;
}
*************** macro (struct mips_cl_insn *ip)
*** 5800,5808 ****
if (HAVE_32BIT_ADDRESSES
&& !IS_SEXT_32BIT_NUM (offset_expr.X_add_number))
! as_bad (_("Number (0x%lx%08lx) larger than 32 bits"),
! (unsigned long) (offset_expr.X_add_number >> 32),
! (unsigned long) (offset_expr.X_add_number & 0xffffffff));
/* A constant expression in PIC code can be handled just as it
is in non PIC code. */
--- 5801,5812 ----
if (HAVE_32BIT_ADDRESSES
&& !IS_SEXT_32BIT_NUM (offset_expr.X_add_number))
! {
! char value [32];
!
! sprintf_vma (value, offset_expr.X_add_number);
! as_bad (_("Number (%s) larger than 32 bits"), value);
! }
/* A constant expression in PIC code can be handled just as it
is in non PIC code. */
*************** macro (struct mips_cl_insn *ip)
*** 6391,6399 ****
if (HAVE_32BIT_ADDRESSES
&& !IS_SEXT_32BIT_NUM (offset_expr.X_add_number))
! as_bad (_("Number (0x%lx%08lx) larger than 32 bits"),
! (unsigned long) (offset_expr.X_add_number >> 32),
! (unsigned long) (offset_expr.X_add_number & 0xffffffff));
/* Even on a big endian machine $fn comes before $fn+1. We have
to adjust when loading from memory. We set coproc if we must
--- 6395,6406 ----
if (HAVE_32BIT_ADDRESSES
&& !IS_SEXT_32BIT_NUM (offset_expr.X_add_number))
! {
! char value [32];
!
! sprintf_vma (value, offset_expr.X_add_number);
! as_bad (_("Number (%s) larger than 32 bits"), value);
! }
/* Even on a big endian machine $fn comes before $fn+1. We have
to adjust when loading from memory. We set coproc if we must
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fix compile time warnings in tc-mips.c
2005-04-20 14:35 Fix compile time warnings in tc-mips.c Nick Clifton
@ 2005-04-20 16:26 ` Maciej W. Rozycki
2005-04-20 17:28 ` Nick Clifton
0 siblings, 1 reply; 4+ messages in thread
From: Maciej W. Rozycki @ 2005-04-20 16:26 UTC (permalink / raw)
To: Nick Clifton; +Cc: binutils
On Wed, 20 Apr 2005, Nick Clifton wrote:
> The recent patch improve larger than 32-bit number handling in the
> GAS MIPS port produced a few compile time warning messages:
>
> .../gas/config/tc-mips.c: In function `load_register':
> .../gas/config/tc-mips.c:3559: warning: right shift count >= width of type
> .../gas/config/tc-mips.c: In function `macro':
> .../gas/config/tc-mips.c:5804: warning: right shift count >= width of type
> .../gas/config/tc-mips.c:6395: warning: right shift count >= width of type
Is there a way for the file to be built with offsetT being a 32-bit type?
AFAIK all MIPS ports use BFD64.
> I am applying the patch below to fix this problem, by switching over
> to use the sprintf_vma macro to convert the values into readable
> text.
Anyway, thanks for the fix -- I must have not looked for a possible
suitable function well enough when implementing these bits. This should
to 2.16 as well if the gate is still open.
Maciej
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fix compile time warnings in tc-mips.c
2005-04-20 16:26 ` Maciej W. Rozycki
@ 2005-04-20 17:28 ` Nick Clifton
2005-04-20 18:00 ` Maciej W. Rozycki
0 siblings, 1 reply; 4+ messages in thread
From: Nick Clifton @ 2005-04-20 17:28 UTC (permalink / raw)
To: Maciej W. Rozycki; +Cc: binutils
Hi Maciej,
> Anyway, thanks for the fix -- I must have not looked for a possible
> suitable function well enough when implementing these bits.
If it helps, I ran across this problem whilst building a "mips-ecoff"
toolchain using a GCC 3.4 based compiler on a 32bit host.
> This should to 2.16 as well if the gate is still open.
Done.
Cheers
Nick
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fix compile time warnings in tc-mips.c
2005-04-20 17:28 ` Nick Clifton
@ 2005-04-20 18:00 ` Maciej W. Rozycki
0 siblings, 0 replies; 4+ messages in thread
From: Maciej W. Rozycki @ 2005-04-20 18:00 UTC (permalink / raw)
To: Nick Clifton; +Cc: binutils
Hi Nick,
> > Anyway, thanks for the fix -- I must have not looked for a possible
> > suitable function well enough when implementing these bits.
>
> If it helps, I ran across this problem whilst building a "mips-ecoff"
> toolchain using a GCC 3.4 based compiler on a 32bit host.
Of course -- I must have paid attention to ELF targets only. I think
hardly anyone builds a pure ECOFF MIPS toolchain these days, so yours was
quite a clever test.
Maciej
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-04-20 18:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-20 14:35 Fix compile time warnings in tc-mips.c Nick Clifton
2005-04-20 16:26 ` Maciej W. Rozycki
2005-04-20 17:28 ` Nick Clifton
2005-04-20 18:00 ` Maciej W. Rozycki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).