https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53929
--- Comment #16 from jbeulich at suse dot com --- (In reply to LIU Hao from comment #15) > This is accepted by ML64: > > ``` > PUBLIC main > EXTRN rip:DWORD > _TEXT SEGMENT > main PROC > mov eax, DWORD PTR rip > ret 0 > main ENDP > _TEXT ENDS > END > ``` Which version? And did you try other register names? Unfortunately the newest I have access to right now is 12.x, and as said in #14 register names other than "rip" won't work there when (attempted to be) used as symbols. Clearly there's little point in dealing with "rip" alone. > Does it make sense to create kinda compatibility mode for ML, in addition to > MASM, if they are deemed to be incompatible? ML == MASM, at least for me (ML and ML64 are merely the names of the [non-ancient] executables).