\r
/* To avoid reverse syntax we provide a new macro .PROC, replacing PROC... */\r
.PROC MACRO name\r
- _&name PROC\r
+__current_function_name EQU %name\r
+#ifdef _M_IX86\r
+ %name PROC\r
+#else\r
+ %name PROC FRAME\r
+#endif\r
ENDM\r
#define FUNC .PROC\r
\r
/* ... and .ENDP, replacing ENDP */\r
-.ENDP MACRO name\r
- _&name ENDP\r
+.ENDP MACRO\r
+ %__current_function_name ENDP\r
ENDM\r
#define ENDFUNC .ENDP\r
\r
DW segment\r
ENDM\r
\r
+data32 MACRO opcode:VARARG\r
+ DB 66h\r
+ opcode\r
+ENDM\r
+\r
UNIMPLEMENTED MACRO name\r
ENDM\r
\r
/* To avoid reverse syntax we provide a new macro .PROC, replacing PROC... */\r
.macro .PROC name\r
.func \name\r
+#ifdef _X86_\r
+ /* x86 gas expects a label with _ prefix */\r
_\name:\r
+#endif\r
+ \name:\r
.cfi_startproc\r
.equ cfa_current_offset, -8\r
.endm\r
+#define FUNC .PROC\r
\r
/* ... and .ENDP, replacing ENDP */\r
-.macro .ENDP name\r
+.macro .ENDP\r
.cfi_endproc\r
.endfunc\r
.endm\r
+#define ENDFUNC .ENDP\r
\r
/* MASM compatible PUBLIC */\r
.macro PUBLIC symbol\r