1 /* This file was based on the modified setjmp.S performed by
2 * Joel Sherill (joel@OARcorp.com) which specified the use
3 * of the __USER_LABEL_PREFIX__ and __REGISTER_PREFIX__ macros.
5 ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
6 ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9 /* These are predefined by new versions of GNU cpp. */
11 #ifndef __USER_LABEL_PREFIX__
12 #define __USER_LABEL_PREFIX__ _
15 #define __REG_PREFIX__ %
17 /* ANSI concatenation macros. */
19 #define CONCAT1(a, b) CONCAT2(a, b)
20 #define CONCAT2(a, b) a##b
22 /* Use the right prefix for global labels. */
24 #define SYM(x) CONCAT1(__USER_LABEL_PREFIX__, x)
26 /* Use the right prefix for registers. */
28 #define REG(x) CONCAT1(__REG_PREFIX__, x)
40 #define st1 REG(st(1))
41 #define st2 REG(st(2))
42 #define st3 REG(st(3))
43 #define st4 REG(st(4))
44 #define st5 REG(st(5))
45 #define st6 REG(st(6))
46 #define st7 REG(st(7))
71 #ifdef _I386MACH_NEED_SOTYPE_FUNCTION
72 #define SOTYPE_FUNCTION(sym) .type SYM(sym),@function
74 #define SOTYPE_FUNCTION(sym)
77 #ifdef _I386MACH_ALLOW_HW_INTERRUPTS