Skip to content

Commit 3c8738e

Browse files
committed
fix amd64 asm syntax for windows
1 parent 1b9b759 commit 3c8738e

3 files changed

Lines changed: 18 additions & 11 deletions

File tree

amd64/bsd_asm.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,17 @@
6262

6363
#define _START_ENTRY .text; .p2align 4,0x90
6464

65+
#if defined(__linux__) || defined(__FreeBSD__) || defined(__ELF__)
6566
#define _ENTRY(x) _START_ENTRY; \
6667
.globl CNAME(x); .type CNAME(x),@function; CNAME(x):
68+
#define END(x) .size x, . - x
69+
70+
#elif defined(__WIN32__)
71+
#define _ENTRY(x) _START_ENTRY; \
72+
.globl CNAME(x); .def CNAME(x); .scl 2; .type 32; .endef; CNAME(x):
73+
#define END(x) .end
74+
75+
#endif
6776

6877
#ifdef PROF
6978
#define ALTENTRY(x) _ENTRY(x); \
@@ -81,7 +90,6 @@
8190
#define ENTRY(x) _ENTRY(x)
8291
#endif
8392

84-
#define END(x) .size x, . - x
8593

8694
#define RCSID(x) .text; .asciz x
8795

amd64/fenv.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ fegetenv(fenv_t *envp)
9797
int
9898
feholdexcept(fenv_t *envp)
9999
{
100-
__uint32_t mxcsr;
100+
uint32_t mxcsr;
101101

102102
__stmxcsr(&mxcsr);
103103
__fnstenv(&envp->__x87);
@@ -114,8 +114,8 @@ extern inline int fesetenv(const fenv_t *__envp);
114114
int
115115
feupdateenv(const fenv_t *envp)
116116
{
117-
__uint32_t mxcsr;
118-
__uint16_t status;
117+
uint32_t mxcsr;
118+
uint16_t status;
119119

120120
__fnstsw(&status);
121121
__stmxcsr(&mxcsr);
@@ -127,8 +127,8 @@ feupdateenv(const fenv_t *envp)
127127
int
128128
__feenableexcept(int mask)
129129
{
130-
__uint32_t mxcsr, omask;
131-
__uint16_t control;
130+
uint32_t mxcsr, omask;
131+
uint16_t control;
132132

133133
mask &= FE_ALL_EXCEPT;
134134
__fnstcw(&control);
@@ -144,8 +144,8 @@ __feenableexcept(int mask)
144144
int
145145
__fedisableexcept(int mask)
146146
{
147-
__uint32_t mxcsr, omask;
148-
__uint16_t control;
147+
uint32_t mxcsr, omask;
148+
uint16_t control;
149149

150150
mask &= FE_ALL_EXCEPT;
151151
__fnstcw(&control);

i387/bsd_asm.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,8 @@
8181
#elif defined(__WIN32__)
8282
#define CNAME(csym) _##csym
8383
#define HIDENAME(asmsym) .asmsym
84-
#define _ENTRY(x) \
85-
_START_ENTRY; .globl CNAME(x) ; .def CNAME(X);\
86-
.scl 2;.type 32;.endef; CNAME(x):
84+
#define _ENTRY(x) _START_ENTRY; \
85+
.globl CNAME(x); .def CNAME(x); .scl 2; .type 32; .endef; CNAME(x):
8786
#define END(x) .end
8887
#endif
8988

0 commit comments

Comments
 (0)