x86: honor absolute section when emitting code
authorJan Beulich <jbeulich@suse.com>
Mon, 20 Jul 2020 06:55:48 +0000 (08:55 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 20 Jul 2020 06:55:48 +0000 (08:55 +0200)
commit48ef937e913d31bbd24a7ae568d30b499a6b3477
tree1756069c86fa289c0c1490160997871bd03f1723
parent693bec1ed63fcd4dc00ce13a702a256955f8cc6f
x86: honor absolute section when emitting code

Various provisions exist for insns to be placed in the absolute section,
yet actually trying to do so didn't work. While data emission (of non-
zero values) is not allowed by generic code, I think this functionality
is useful for the programmer to be able to determine the size of insns.
Therefore, rather than turning the silnet failure into a verbose one,
make things mostly work; the one class of insns not supported (yet) are
branches (JMP and Jcc) with dynamically determined displacement widths.
In this one case, an error now gets reported instead of silently
ignoring the code.

Also avoid recording ISA / feature usage for insns emitted to the
absolute section.
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/sizing.s [new file with mode: 0644]
gas/testsuite/gas/i386/sizing32.d [new file with mode: 0644]
gas/testsuite/gas/i386/sizing64.d [new file with mode: 0644]