Using a option file (opt.txt) points back to itself:
@opt.txt
Running "as @opt.txt" causes the assembler to run into infinite recursive loop
until out of memory error occurs.
--
Summary: Infinite recursive loop in @FILE option
Product: binutils
Version: 2.20
--
What|Removed |Added
AssignedTo|unassigned at sources dot |amodra at gmail dot com
|redhat dot com |
Status|NEW
Upon assembling this file (bug.s):
.macro push p
.endm
PUSH r=1
I get this recursive error message:
bug.s:3: Error: Parameter named `' does not exist for macro `push'
Error message keeps printing and doesn't stop.
--
Summary: Recursive error message "Error: Parameter named `' does
--- Additional Comments From schwab at linux-m68k dot org 2010-07-22 11:25
---
*** Bug 11830 has been marked as a duplicate of this bug. ***
--
http://sourceware.org/bugzilla/show_bug.cgi?id=11829
--- You are receiving this mail because: ---
You are on the CC list for the bu
--- Additional Comments From schwab at linux-m68k dot org 2010-07-22 11:25
---
*** This bug has been marked as a duplicate of 11829 ***
--
What|Removed |Added
--- Additional Comments From konrad dot schwarz at siemens dot com
2010-07-22 11:05 ---
(In reply to comment #4)
> You need to double & for every level of expansion. .irp introduces another
> such
> level.
I tried using 8 ampersands (). The code now works. It also works with
It seems that during some forms of macro expansion, a token consisting of
several ampersands (e.g., &&) is turned into a token consisting of a single
ampersand (&). The example below uses &&, however, the same results occur when
using the token &&& or . This is quite deadly, as both && and &
--- Additional Comments From schwab at linux-m68k dot org 2010-07-22 10:19
---
You need to double & for every level of expansion. .irp introduces another such
level.
--
What|Removed |Added
--
--- Additional Comments From konrad dot schwarz at siemens dot com
2010-07-22 10:16 ---
(In reply to comment #2)
> (In reply to comment #1)
> > & is special in the altmacro syntax. You need to double it to get a
> > literal &.
The GAS manual does not say this. It does say in (as.info
--- Additional Comments From konrad dot schwarz at siemens dot com
2010-07-22 10:09 ---
(In reply to comment #1)
> & is special in the altmacro syntax. You need to double it to get a literal
> &.
Note that altmacro syntax is not in effect when the bug exhibits itself.
Furthermore, as
--- Additional Comments From schwab at linux-m68k dot org 2010-07-22 09:02
---
& is special in the altmacro syntax. You need to double it to get a literal &.
--
What|Removed |Added
-
It seems that during some forms of macro expansion, a token consisting of
several ampersands (e.g., &&) is turned into a token consisting of a single
ampersand (&). The example below uses &&, however, the same results occur when
using the token &&& or . This is quite deadly, as both && and &
12 matches
Mail list logo