aboutsummaryrefslogtreecommitdiff
path: root/gas/doc
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2021-08-11 08:31:03 +0200
committerJan Beulich <jbeulich@suse.com>2021-08-11 08:31:03 +0200
commite74e2b4c336fad993b0dd31b859af919ad52ec9e (patch)
treed2da95940234a9ed70a44738a018f4ee2919bd53 /gas/doc
parente2295dade838ad296e1e1cd1096177058139b6b3 (diff)
downloadfsf-binutils-gdb-e74e2b4c336fad993b0dd31b859af919ad52ec9e.zip
fsf-binutils-gdb-e74e2b4c336fad993b0dd31b859af919ad52ec9e.tar.gz
fsf-binutils-gdb-e74e2b4c336fad993b0dd31b859af919ad52ec9e.tar.bz2
x86/ELF: fix .ds.x output
The ELF psABI-s are quite clear here: On 32-bit the underlying data type is 12 bytes long (with 2 bytes of trailing padding), while on 64-bit it is 16 bytes long (with 6 bytes of padding). Make s_space() capable of handling 'x' (and 'p') type floating point being other than 12 bytes wide (also adjusting documentation). This requires duplicating the definition of X_PRECISION in the target speciifc header; the compiler would complain if this was out of sync with config/atof-ieee.c. Note that for now padding space doesn't get separated from actual storage, which means that things will work correctly only for little- endian cases, and which also means that by specifying large enough numbers padding space can be set to non-zero. Since the logic is needed for a single little-endian architecture only for now, I'm hoping that this might be acceptable for the time being; otherwise the change will become more intrusive. Note also that this brings the emitted data size of .ds.x vs .tfloat in line for non-ELF targets as well; the issue will be even more obvious when further taking into account a subsequent patch fixing .dc.x/.dcb.x (where output sizes currently differ depending on input format). Extend existing x86 testcases.
Diffstat (limited to 'gas/doc')
-rw-r--r--gas/doc/as.texi4
1 files changed, 2 insertions, 2 deletions
diff --git a/gas/doc/as.texi b/gas/doc/as.texi
index 292c4af2..b8d5b9b 100644
--- a/gas/doc/as.texi
+++ b/gas/doc/as.texi
@@ -5125,13 +5125,13 @@ Emits 8-byte values.
@item @samp{.l}
Emits 4-byte values.
@item @samp{.p}
-Emits 12-byte values.
+Emits values with size matching packed-decimal floating-point ones.
@item @samp{.s}
Emits 4-byte values.
@item @samp{.w}
Emits 2-byte values.
@item @samp{.x}
-Emits 12-byte values.
+Emits values with size matching long double precision floating-point ones.
@end table
Note - unlike the @code{.dcb} directive the @samp{.d}, @samp{.s} and @samp{.x}