[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/16688] aarch64: bignums in literal pools do not work correctly
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug gas/16688] aarch64: bignums in literal pools do not work correctly |
Date: |
Wed, 12 Mar 2014 15:51:50 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=16688
--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot
gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via 55d9b4c146716a683d9fea769e5f4106eadb30fc (commit)
from 646f4417760ab12c0d955dabf821d8737d94335a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=55d9b4c146716a683d9fea769e5f4106eadb30fc
commit 55d9b4c146716a683d9fea769e5f4106eadb30fc
Author: Nick Clifton <address@hidden>
Date: Wed Mar 12 15:44:09 2014 +0000
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.
-----------------------------------------------------------------------
Summary of changes:
gas/ChangeLog | 9 +++++
gas/config/tc-aarch64.c | 61 ++++++++++++++++++++++++++++-------
gas/testsuite/ChangeLog | 6 +++
gas/testsuite/gas/aarch64/litpool.d | 30 +++++++++++++++++
gas/testsuite/gas/aarch64/litpool.s | 7 ++++
5 files changed, 101 insertions(+), 12 deletions(-)
create mode 100644 gas/testsuite/gas/aarch64/litpool.d
create mode 100644 gas/testsuite/gas/aarch64/litpool.s
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug gas/16688] New: aarch64: bignums in literal pools do not work correctly, will.newton at gmail dot com, 2014/03/11
- [Bug gas/16688] aarch64: bignums in literal pools do not work correctly, will.newton at gmail dot com, 2014/03/11
- [Bug gas/16688] aarch64: bignums in literal pools do not work correctly, will.newton at gmail dot com, 2014/03/11
- [Bug gas/16688] aarch64: bignums in literal pools do not work correctly, nickc at redhat dot com, 2014/03/12
- [Bug gas/16688] aarch64: bignums in literal pools do not work correctly, will.newton at gmail dot com, 2014/03/12
- [Bug gas/16688] aarch64: bignums in literal pools do not work correctly,
cvs-commit at gcc dot gnu.org <=
- [Bug gas/16688] aarch64: bignums in literal pools do not work correctly, nickc at redhat dot com, 2014/03/12
- [Bug gas/16688] aarch64: bignums in literal pools do not work correctly, will.newton at gmail dot com, 2014/03/18