[PATCH v3] CSKY: Fix sprintf argument overlaping destination error.
Cooper Qu
cooper.qu@linux.alibaba.com
Thu Sep 10 12:09:04 GMT 2020
More information about the Binutils mailing list
Thu Sep 10 12:09:04 GMT 2020
- Previous message (by thread): [PATCH v3] CSKY: Fix sprintf argument overlaping destination error.
- Next message (by thread): [PATCH] gas: Make sure to only add an md5 to a .file when requested.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Cheers, Thanks for your patch to fix the build failure. The part of the code I wrote is indeed not suitable, I will improve it later. Regards Cooper On 9/10/20 4:59 PM, Nick Clifton wrote: > Hi Cooper, > > One of your recent CSKY patches triggered a build failure for 32-bit > hosts, because the definition of the CSKY_ISA_FLOAT_7E60 constant does > not fit into a long int. There was also a small issue with one of the > sprintf's trying to put long long values into a long format conversion > operator. I have applied the patch below as an obvious fix. > > Cheers > Nick > > include/ChangeLog > 2020-09-10 Nick Clifton <nickc@redhat.com> > > * opcode/csky.h (CSKY_ISA_FLOAT_7E60): Use a long long type for > this value. > > opcodes/ChangeLog > 2020-09-10 Nick Clifton <nickc@redhat.com> > > * csky-dis.c (csky_output_operand): Coerce the immediate values to > long before printing. > > > diff --git a/include/opcode/csky.h b/include/opcode/csky.h > index 421454383e..717e8a949d 100644 > --- a/include/opcode/csky.h > +++ b/include/opcode/csky.h > @@ -58,7 +58,7 @@ > /* 807 support (803f & 807f). */ > #define CSKY_ISA_FLOAT_3E4 (1L << 28) > /* 860 support. */ > -#define CSKY_ISA_FLOAT_7E60 (1L << 36) > +#define CSKY_ISA_FLOAT_7E60 (1LL << 36) > /* Vector DSP support. */ > #define CSKY_ISA_VDSP (1L << 29) > #define CSKY_ISA_VDSP_2 (1L << 30) > diff --git a/opcodes/csky-dis.c b/opcodes/csky-dis.c > index 78ff055c3d..450a9bed0b 100644 > --- a/opcodes/csky-dis.c > +++ b/opcodes/csky-dis.c > @@ -675,7 +675,7 @@ csky_output_operand (char *str, struct operand const *oprnd, > } > double d = 0; > memcpy (&d, &dvalue, sizeof (double)); > - sprintf (buf, "%lf\t// imm9:%4ld, imm4:%2ld", d, imm8, imm4); > + sprintf (buf, "%lf\t// imm9:%4ld, imm4:%2ld", d, (long) imm8, (long) imm4); > strcat (str, buf); > break; > }
- Previous message (by thread): [PATCH v3] CSKY: Fix sprintf argument overlaping destination error.
- Next message (by thread): [PATCH] gas: Make sure to only add an md5 to a .file when requested.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list