1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
--- Ma2Asm/x86_64_any.c.orig 2021-07-07 17:13:02.000000000 +0700
+++ Ma2Asm/x86_64_any.c 2021-07-11 03:18:18.347365000 +0700
@@ -232,8 +232,8 @@ Asm_Start(void)
strcpy(asm_reg_cp, Off_Reg_Bank(MAP_OFFSET_CP));
#endif
-#if defined(M_darwin) || defined(M_bsd)
- pic_code = TRUE; /* NB: on darwin and BSD everything is PIC code */
+#if defined(M_darwin)
+ pic_code = TRUE; /* NB: on darwin everything is PIC code */
#elif defined(M_linux) && __GNUC__ >= 6 /* gcc >= 6 needs PIC for linux */
pic_code = FALSE;
#elif defined(_WIN32)
@@ -1242,9 +1242,9 @@ Dico_Long(LongInf *l)
size_bytes = l->value * 8;
#ifdef M_darwin
if (!l->global)
- Label_Printf(".zerofill __DATA,__bss," UN "%s,%" PL_FMT_d ",4", l->name, size_bytes);
+ Label_Printf(".zerofill __DATA,__bss," UN "%s,%" PL_FMT_d ",3", l->name, size_bytes);
else
- Inst_Printf(".comm", UN "%s,%" PL_FMT_d ",4", l->name, size_bytes);
+ Inst_Printf(".comm", UN "%s,%" PL_FMT_d ",3", l->name, size_bytes);
#else
#if defined(M_linux) || defined(M_sco) || defined(M_solaris) || defined(M_bsd)
if (!l->global)
@@ -1268,11 +1268,6 @@ Dico_Long(LongInf *l)
case INITIAL_VALUE:
if (l->global)
Inst_Printf(".globl", UN "%s", l->name);
-#ifdef M_darwin
- Inst_Printf(".align", "3");
-#else
- Inst_Printf(".align", "8");
-#endif
#if !(defined(M_darwin) || defined(_WIN32))
Inst_Printf(".size", UN "%s,8", l->name);
#endif
|