From a39d29cda15d4f303c989eb0ac644a3144827881 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 25 May 2020 04:50:56 -0700 Subject: gas: Update fr_literal access in frag for GCC 10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When access fr_literal in struct frag { ... /* Data begins here. */ char fr_literal[1]; }; with char *buf = fragp->fr_fix + fragp->fr_literal; GCC 10 gave gas/config/tc-csky.c: In function ‘md_convert_frag’: gas/config/tc-csky.c:4507:9: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] 4507 | buf[1] = BYTE_1 (CSKYV1_INST_SUBI | (7 << 4)); | ^ Change char *buf = fragp->fr_fix + fragp->fr_literal; to char *buf = fragp->fr_fix + &fragp->fr_literal[0]; to silence GCC 10 warning. * config/tc-csky.c (md_convert_frag): Replace fragp->fr_literal with &fragp->fr_literal[0]. * config/tc-microblaze.c (md_apply_fix): Likewise. * config/tc-sh.c (md_convert_frag): Likewise. --- gas/config/tc-microblaze.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gas/config/tc-microblaze.c') diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c index 24ea3582447..ae5d36dc9c3 100644 --- a/gas/config/tc-microblaze.c +++ b/gas/config/tc-microblaze.c @@ -1983,7 +1983,7 @@ md_apply_fix (fixS * fixP, valueT * valp, segT segment) { - char * buf = fixP->fx_where + fixP->fx_frag->fr_literal; + char * buf = fixP->fx_where + &fixP->fx_frag->fr_literal[0]; const char * file = fixP->fx_file ? fixP->fx_file : _("unknown"); const char * symname; /* Note: use offsetT because it is signed, valueT is unsigned. */ -- cgit v1.2.1