Skip to content

Commit a019784

Browse files
author
Karic
committed
Fixed compilation erros in Mac OSX
1 parent 806594d commit a019784

File tree

4 files changed

+37
-52
lines changed

4 files changed

+37
-52
lines changed

include/comm.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
#define TRUE 1
1919
#define FALSE 0
20+
2021
#define bool char
2122

2223
typedef uint8_t U1;

include/endianswap.h

Lines changed: 20 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6,57 +6,36 @@
66
*
77
* modifications:
88
* 1. Rename to endianswap.h by kari.zhang @ 2016-01-13
9+
*
10+
* 2. Remove swap_16() and swap_32(),
11+
* Because both *.class and networt protocol use Big-Endian,
12+
* So, use ntohs() ntohl() instead of swap_16() or swap_32() @ 2018-09-21
13+
*
914
*******************************************************/
1015

1116
#ifndef __ENDIANSWAP__H__
1217
#define __ENDIANSWAP__H__
1318

14-
#include <byteswap.h>
19+
#include <arpa/inet.h>
1520
#include <comm.h>
16-
#include <machineconf.h>
1721

18-
#define READ_U1(u1, data) do { \
19-
u1 = *(data); \
20-
(data) ++; \
22+
#define READ_U1(u1, data) do { \
23+
u1 = *(data); \
24+
(data) ++; \
2125
} while (0);
2226

23-
#ifdef SMALL_ENDIAN
24-
#define READ_U2(u2, data) do { \
25-
u2 = *((U2*)(data)); \
26-
u2 = bswap_16(u2); \
27-
(data) += 2; \
28-
} while (0);
29-
#else
30-
#define READ_U2(u2, data) do { \
31-
u2 = *((U2*)(data)); \
32-
(data) += 2; \
33-
} while (0);
34-
#endif
27+
#define READ_U2(u2, data) do { \
28+
u2 = *((U2*)(data)); \
29+
u2 = ntohs(u2); \
30+
(data) += 2; \
31+
} while (0);
3532

36-
#ifdef SMALL_ENDIAN
37-
#define READ_U4(u4, data) do { \
38-
u4 = *((U4*)(data)); \
39-
u4 = bswap_32(u4); \
40-
(data) += 4; \
41-
} while (0);
42-
#else
43-
#define READ_U4(u4, data) do { \
44-
u4 = *((U4*)(data)); \
45-
(data) += 4; \
46-
} while (0);
47-
#endif
33+
#define READ_U4(u4, data) do { \
34+
u4 = *((U4*)(data)); \
35+
u4 = ntohl(u4); \
36+
(data) += 4; \
37+
} while (0);
4838

49-
#ifdef SMALL_ENDIAN
50-
#define READ_INT32(u4, data) do { \
51-
u4 = *((int32*)(data)); \
52-
u4 = bswap_32(u4); \
53-
(data) += 4; \
54-
} while (0);
55-
#else
56-
#define READ_INT32(u4, data) do { \
57-
u4 = *((int32*)(data)); \
58-
(data) += 4; \
59-
} while (0);
60-
#endif
39+
#define READ_INT32(x,y) READ_U4(x,y)
6140

6241
#endif

include/machineconf.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,11 @@
1010
*
1111
* modifications:
1212
* 1. Rename to machineconf.h by kari.zhang @ 2016-01-16
13+
* 2. Never use SMALL_ENDIAN to distinguish CPU endianness,
14+
* use ntohs() or ntohl(), keep this file for memory @ 2018-09-21
1315
*******************************************************/
1416

1517
#ifndef __MACHINECONF__H__
1618
#define __MACHINECONF__H__
1719

18-
// default in small endian machine
19-
// If in big endian, please remove this macro define
20-
#define SMALL_ENDIAN
21-
2220
#endif

src/vm/instruction.c

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
/*************************************
2-
*file name: instruction.c
3-
*description: define instruction set
4-
*
2+
* file name: instruction.c
3+
* description: define instruction set
4+
* mofications:
5+
* 1. rename ldiv to lDiv to avoid compilation errors in Mac OSX
56
************************************/
67

78
#include <assert.h>
9+
10+
#ifdef linux
811
#include <malloc.h>
12+
#else
13+
#include <stdlib.h>
14+
#endif
15+
916
#include <stdio.h>
1017
#include <string.h>
1118
#include "comm.h"
@@ -129,7 +136,7 @@ enum {
129136
fmul, // 0x6a
130137
dmul, // 0x6b
131138
idiv, // 0x6c
132-
ldiv, // 0x6d
139+
lDiv, // 0x6d
133140
fdiv, // 0x6e
134141
ddiv, // 0x6f
135142
irem, // 0x70
@@ -339,7 +346,7 @@ DECL_FUNC(lmul);
339346
DECL_FUNC(fmul);
340347
DECL_FUNC(dmul);
341348
DECL_FUNC(idiv);
342-
DECL_FUNC(ldiv);
349+
DECL_FUNC(lDiv);
343350
DECL_FUNC(fdiv);
344351
DECL_FUNC(ddiv);
345352
DECL_FUNC(irem);
@@ -576,7 +583,7 @@ static Instruction sInstructionTable[] = {
576583
INIT_INST(fmul, 0), // 0x6a
577584
INIT_INST(dmul, 0), // 0x6b
578585
INIT_INST(idiv, 0), // 0x6c
579-
INIT_INST(ldiv, 0), // 0x6d
586+
INIT_INST(lDiv, 0), // 0x6d
580587
INIT_INST(fdiv, 0), // 0x6e
581588
INIT_INST(ddiv, 0), // 0x6f
582589
INIT_INST(irem, 0), // 0x70
@@ -2055,7 +2062,7 @@ DECL_FUNC(idiv)
20552062
return FALSE;
20562063
}
20572064

2058-
DECL_FUNC(ldiv)
2065+
DECL_FUNC(lDiv)
20592066
{
20602067
#ifdef LOG_DETAIL
20612068
printf("\t*ldiv\n");

0 commit comments

Comments
 (0)