gas: avoid GCC 10 warning stringop-overflow in tc-bpf.c
authorJose E. Marchesi <jose.marchesi@oracle.com>
Fri, 5 Jun 2020 14:23:30 +0000 (16:23 +0200)
committerJose E. Marchesi <jose.marchesi@oracle.com>
Fri, 5 Jun 2020 14:23:30 +0000 (16:23 +0200)
commitf1919c56e1ffce63c5dbd60c9b29c492be9d0787
tree37b172dce58b1e7435d374a846673ce16697acc0
parent8a4ba3a14258bb522f7dadf07d92faae99e59301
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.
gas/ChangeLog
gas/config/tc-bpf.c