diff options
author | Nick Clifton <nickc@redhat.com> | 2014-03-12 15:44:09 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2014-03-12 15:50:49 +0000 |
commit | 55d9b4c146716a683d9fea769e5f4106eadb30fc (patch) | |
tree | 31d561ee0aa081ccd638955342aece052073d99f /gdb/inf-child.c | |
parent | 646f4417760ab12c0d955dabf821d8737d94335a (diff) | |
download | gdb-55d9b4c146716a683d9fea769e5f4106eadb30fc.zip gdb-55d9b4c146716a683d9fea769e5f4106eadb30fc.tar.gz gdb-55d9b4c146716a683d9fea769e5f4106eadb30fc.tar.bz2 |
The value of a bignum expression is held in a single global array. This means
that if multiple bignum values are encountered only the most recent is valid.
If such expressions are cached, eg to be emitted into a literal pool later on
in the assembly, then only one expression - the last - will be correct. This
patch fixes the problem for the AArch64 target by caching each bignum value
locally.
PR gas/16688
* config/tc-aarch64.c (literal_expression): New structure.
(literal_pool): Replace exp array with literal_expression array.
(add_to_lit_pool): When adding a bignum cache the big value.
(s_ltorg): When emitting a bignum initialise the global bignum
array from the cached value.
* gas/aarch64/litpool.s: New test case.
* gas/aarch64/litpool.d: Expected disassembly.
Diffstat (limited to 'gdb/inf-child.c')
0 files changed, 0 insertions, 0 deletions