summaryrefslogtreecommitdiff
path: root/lang/gprolog/files/patch-Ma2Asm_x86__64__any.c
blob: 152304e563b22b2e8da82d67d709a097de6e9175 (plain) (blame)
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