diff options
author | Nick Clifton <nickc@redhat.com> | 2017-01-20 10:21:17 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2017-01-20 10:21:17 +0000 |
commit | a24df3057179f81a2624bf3bd3d78113cb2fcc8e (patch) | |
tree | c107860cd1491ec47b5d63f77a4a85273f517b92 | |
parent | de1ab01e8ebf04a3503d8450e6b924c7bb160853 (diff) | |
download | gdb-a24df3057179f81a2624bf3bd3d78113cb2fcc8e.zip gdb-a24df3057179f81a2624bf3bd3d78113cb2fcc8e.tar.gz gdb-a24df3057179f81a2624bf3bd3d78113cb2fcc8e.tar.bz2 |
Fix problem in aarch64 gold sources uncovered by Coverty - using sizeof on a pointer instead of an array.
* aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS
from a pointer to an array.
-rw-r--r-- | gold/ChangeLog | 5 | ||||
-rw-r--r-- | gold/aarch64.cc | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 787fb6e..b357d88 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2017-01-20 Nick Clifton <nickc@redhat.com> + + * aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS + from a pointer to an array. + 2017-01-13 H.J. Lu <hongjiu.lu@intel.com> PR gold/21040 diff --git a/gold/aarch64.cc b/gold/aarch64.cc index b207dcd..b282ccf 100644 --- a/gold/aarch64.cc +++ b/gold/aarch64.cc @@ -784,8 +784,14 @@ Stub_template_repertoire<big_endian>::Stub_template_repertoire() 0x14000000, /* b <label> */ }; - // ST_E_835769 has the same stub template as ST_E_843419. - const static Insntype* ST_E_835769_INSNS = ST_E_843419_INSNS; + // ST_E_835769 has the same stub template as ST_E_843419 + // but we reproduce the array here so that the sizeof + // expressions in install_insn_template will work. + const static Insntype ST_E_835769_INSNS[] = + { + 0x00000000, /* Placeholder for erratum insn. */ + 0x14000000, /* b <label> */ + }; #define install_insn_template(T) \ const static Stub_template<big_endian> template_##T = { \ |