ix86: wrap constants
authorJan Beulich <jbeulich@suse.com>
Mon, 7 Jun 2021 06:49:33 +0000 (08:49 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 7 Jun 2021 06:49:33 +0000 (08:49 +0200)
commita442cac5084e97d47223bac61cfc4d168c568ba4
treea4c81ccccf7d2bb5a3582d462dfc063f0585a642
parent6bee34a1dc94dcfbf84b6318a731e6b059b39977
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
gas/config/tc-i386.c
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/wrap32-data.d [new file with mode: 0644]
gas/testsuite/gas/i386/wrap32-text.d [new file with mode: 0644]
gas/testsuite/gas/i386/wrap32.s [new file with mode: 0644]