This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PR16688 patch applied test case fails BE.


Hi Nick,

This patch applied to GAS, which appears not to have been posted on the list:


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.


introduces a test case that fails on aarch64_be-* targets.

Cheers
/Marcus



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]