summaryrefslogtreecommitdiff
path: root/asm/listing.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2019-08-07 00:46:27 -0700
committerH. Peter Anvin <hpa@zytor.com>2019-08-07 00:59:24 -0700
commit0d4d431a016c873ff96f31476874ca87ed76a056 (patch)
tree40abd795029a29e8695ca952b907696229ef3890 /asm/listing.h
parent77a9b7d6892855861f754047226d8c3a4827c748 (diff)
downloadnasm-0d4d431a016c873ff96f31476874ca87ed76a056.tar.gz
Merge empty reservations from TIMES; add counts in listings
For constructs like TIMES xx RESB yy merge the TIMES and RESB and feed a single reservation to the backend; this can (obviously) be dramatically faster. Add byte count in listings for <incbin> and repeat count to <rept>; to make them more reasonable in length shorten to <bin ...> and <rep ...> respectively, and don't require leading zeroes in bin/rep/res count. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'asm/listing.h')
-rw-r--r--asm/listing.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/asm/listing.h b/asm/listing.h
index 1751c7f7..dac18bfe 100644
--- a/asm/listing.h
+++ b/asm/listing.h
@@ -74,19 +74,20 @@ struct lfmt {
void (*line)(int type, char *line);
/*
- * Called to change one of the various levelled mechanisms in
- * the listing generator. LIST_INCLUDE and LIST_MACRO can be
- * used to increase the nesting level of include files and
- * macro expansions; LIST_TIMES and LIST_INCBIN switch on the
- * two binary-output-suppression mechanisms for large-scale
- * pseudo-instructions.
+ * Called to change one of the various levelled mechanisms in the
+ * listing generator. LIST_INCLUDE and LIST_MACRO can be used to
+ * increase the nesting level of include files and macro
+ * expansions; LIST_TIMES and LIST_INCBIN switch on the two
+ * binary-output-suppression mechanisms for large-scale
+ * pseudo-instructions; the size argument prints the size or
+ * repetiiton count.
*
* LIST_MACRO_NOLIST is synonymous with LIST_MACRO except that
* it indicates the beginning of the expansion of a `nolist'
* macro, so anything under that level won't be expanded unless
* it includes another file.
*/
- void (*uplevel)(int type);
+ void (*uplevel)(int type, int64_t size);
/*
* Reverse the effects of uplevel.