gas: avoid GCC 10 warning stringop-overflow in tc-bpf.c
The GAS struct frag ends with a field `fr_literal' whose purpose is to mark the begining of the frag's data: struct frag { ... /* Data begins here. */ char fr_literal[1]; }; The code in gas/config/tc-bpf.c recently committed: where = fixP->fx_frag->fr_literal + fixP->fx_where; where[1] = target_big_endian ? 0x01 : 0x10; triggers the stringop-overflow warning in GCC 10+, since the compiler assumes the size of the modified buffer is 1 byte. This patch slightly modifies the code to make tc-bpf.c buildable with GCC 10+. 2020-06-05 Jose E. Marchesi <jose.marchesi@oracle.com> * config/tc-bpf.c (md_apply_fix): Avoid GCC 10 warning stringop-overflow.
This commit is contained in:
parent
8a4ba3a142
commit
f1919c56e1
@ -1,3 +1,8 @@
|
||||
2020-06-05 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||||
|
||||
* config/tc-bpf.c (md_apply_fix): Avoid GCC 10 warning
|
||||
stringop-overflow.
|
||||
|
||||
2020-06-05 Nelson Chu <nelson.chu@sifive.com>
|
||||
|
||||
* config/tc-riscv.c (explicit_csr): New static boolean.
|
||||
|
@ -324,8 +324,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
|
||||
|
||||
Note that the CALL instruction has only one operand, so
|
||||
this code is executed only once per instruction. */
|
||||
where = fixP->fx_frag->fr_literal + fixP->fx_where;
|
||||
where[1] = target_big_endian ? 0x01 : 0x10;
|
||||
where = fixP->fx_frag->fr_literal + fixP->fx_where + 1;
|
||||
where[0] = target_big_endian ? 0x01 : 0x10;
|
||||
/* Fallthrough. */
|
||||
case BPF_OPERAND_DISP16:
|
||||
/* The PC-relative displacement fields in jump instructions
|
||||
|
Loading…
Reference in New Issue
Block a user