From a442cac5084e97d47223bac61cfc4d168c568ba4 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 7 Jun 2021 08:49:33 +0200 Subject: ix86: wrap constants Non-64-bit code should get handled the same with or without BFD64. This wasn't the case though in a number of situations (and quite likely there are more that I haven't spotted yet). It's not very nice to tie the check in md_apply_fix() to object_64bit, but afaict at that time we have no record anymore of the mode an insn was assembled in (it might also have been data). This doesn't look to be the first inconsistency of this kind, though. In x86_cons() it's even less clear what the right approach would be: flag_code shouldn't matter for data emission, but instead we'd need to know from which mode(s) the data actually gets accessed. On this basis, signed_cons() also gets adjusted. --- gas/ChangeLog | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gas/ChangeLog') diff --git a/gas/ChangeLog b/gas/ChangeLog index 67b4583..b1d6556 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2021-06-07 Jan Beulich + + * config/tc-i386.c (extend_to_32bit_address): New. + (x86_cons, i386_finalize_immediate, md_apply_fix): Use it. + (signed_cons): Use object_64bit. + * testsuite/gas/i386/wrap32.s, testsuite/gas/i386/wrap32-data.d, + testsuite/gas/i386/wrap32-text.d: New. + * testsuite/gas/i386/i386.exp: Run new tests. + 2021-06-03 Alan Modra PR 1202 -- cgit v1.1