From: Alan Modra Date: Thu, 9 Jan 2025 04:37:49 +0000 (+1030) Subject: Excessive gas .irpt count X-Git-Tag: binutils-2_44~225 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e0a07d7fc564d91ed24d916dc7125d7159388580;p=thirdparty%2Fbinutils-gdb.git Excessive gas .irpt count There is a test in do_repeat to error on "negative" repeat counts. Just at what value a ssize_t is negative of course depends on the host. Change the excessive repeat count to a fixed value, 0x80000000, ie. what would be seen as negative on a 32-bit host. --- diff --git a/gas/read.c b/gas/read.c index 6d0d4b5e31a..5df1f3da588 100644 --- a/gas/read.c +++ b/gas/read.c @@ -3144,9 +3144,9 @@ do_repeat (size_t count, const char *start, const char *end, sb one; sb many; - if (((ssize_t) count) < 0) + if (count > 0x7fffffff) { - as_bad (_("negative count for %s - ignored"), start); + as_bad (_("excessive count %zu for %s - ignored"), count, start); count = 0; } diff --git a/gas/testsuite/gas/macros/end.l b/gas/testsuite/gas/macros/end.l index ff5d45213db..9e765cca062 100644 --- a/gas/testsuite/gas/macros/end.l +++ b/gas/testsuite/gas/macros/end.l @@ -1,4 +1,4 @@ .*: Assembler messages: .*:1: Warning: \.endm .* \.macro .*:2: Warning: \.endr .* (\.rept|\.irpc?).*(\.rept|\.irpc?).*(\.rept|\.irpc?) -.*:3: Error: negative count for REPT - ignored +.*:3: Error: .* for REPT - ignored