x86 issues
Jan Beulich
jbeulich@novell.com
Wed Feb 13 14:25:00 GMT 2008
As a follow-up to the changes just submitted/committed, here are two
more things I think aren't working right at present:
- There's no way to specify whether a floating point unit is available. I
think that pseudo-ops .arch .{8087,287,387} should be added along
with respective constants, so that instructions can be qualified
accordingly and the floating point registers (it's really just st which
ought to be affected) aren't visible without any of these enabled.
- Currently, set_cpu_arch() infers 64-bit support from the current
.codeXX setting. This seems rather odd, since this makes the following
sequence behave rather paradoxically:
.code64
.arch i8086
.code64
(in that it fails on the second .code64). Instead, 64-bit mode should
be a sub-feature like MMX/SSE etc. are, and perhaps entering (for
example) 8086 should implicitly switch to 16-bit mode (or otherwise,
the CPU change itself should fail).
While I can certainly prepare patches to fix both, I'd first like to
understand whether the described intended behavior is acceptable.
Jan
More information about the Binutils
mailing list