https://sourceware.org/bugzilla/show_bug.cgi?id=30688
Bug ID: 30688 Summary: [2.41 regression] Warning: size (8) out of range, ignored Product: binutils Version: 2.41 Status: UNCONFIRMED Severity: normal Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: raj.khem at gmail dot com Target Milestone: --- gas is now erroring out on following sample ( reduced from valgrind ) ################################## .text mov text_buf(%rdx), %al .bss .lcomm text_buf, 9-1 #bad #.lcomm text_buf, 7+1 #OK ################################## % /tmp/obj/gas/as-new a.s a.s: Assembler messages: a.s:4: Warning: size (8) out of range, ignored This works fine with 2.40 release I have bisected it to this commit commit 762acf217c4013bed5a4cc679e4bac78d13ce23a Author: Jan Beulich <jbeul...@suse.com> Date: Fri May 19 09:16:04 2023 +0200 gas: maintain O_constant signedness in more cases Unary '~' doesn't really produce an unsigned result. Neither does subtraction (unless taking operand values into consideration). And an abstract operator applied to two operands which aren't both unsigned can't be assumed to yield an unsigned result; exceptions are - shifts, where only signedness of the left hand operand matters, - comparisons, which - unlike unary '!' - produce signed results (they deliver 0 or ~0, as opposed to '!', which yields 0 or 1), - logical operators (yielding 0 or 1 and hence treated like unary '!'). While doing this (specifically while extending the all/quad testcase), update .quad and .8byte documentation: With 64-bit architectures now being common, it is highly inappropriate to state that these directives unconditionally require bignums. -- You are receiving this mail because: You are on the CC list for the bug.