Index: trunk/src/emx/src/emxomf/emxomf.c
===================================================================
--- trunk/src/emx/src/emxomf/emxomf.c	(revision 762)
+++ trunk/src/emx/src/emxomf/emxomf.c	(revision 763)
@@ -1098,8 +1098,5 @@
    À
 
-   Symbol indices are assigned sequentially.
-
-   Note. $hll$ is a hack for making debug info for global externals,
-   we need the extdef for the 2nd entry of the fake alias. */
+   Symbol indices are assigned sequentially.  */
 
 static void write_extdef (void)
@@ -1287,6 +1284,5 @@
 
 
-/* Write ALIAS records into the output file for all indirect references.
-   Note. The $hll$ aliases are debug info hacks and must be skipped! */
+/* Write ALIAS records into the output file for all indirect references. */
 
 static void write_alias (void)
@@ -1296,6 +1292,5 @@
 
   for (i = 0; i < sym_count - 1; ++i)
-    if (sym_ptr[i].n_type == (N_INDR|N_EXT) && sym_ptr[i+1].n_type == N_EXT
-     && !strstr(str_ptr + sym_ptr[i].n_un.n_strx, "$hll$"))
+    if (sym_ptr[i].n_type == (N_INDR|N_EXT) && sym_ptr[i+1].n_type == N_EXT)
       {
         init_rec (ALIAS);
@@ -2893,5 +2888,6 @@
           name = "LNKOH410";
       else if (!type || !stricmp (type, "VAC365"))
-          name = hll_version == 4 ?  "CPPLH436" : "CPPLH636";
+          name = NULL /* hll_version == 4 ?  "CPPLH436" : "CPPLH636"
+                        - this linker figures it out by it self. */;
       /* no DLL for link386! */
     }
Index: trunk/src/emx/src/emxomf/stabshll.c
===================================================================
--- trunk/src/emx/src/emxomf/stabshll.c	(revision 762)
+++ trunk/src/emx/src/emxomf/stabshll.c	(revision 763)
@@ -3338,30 +3338,26 @@
         case 'G':
           /* Static storage, global scope */
-          #if 1 /* birds ugly hacking of 'G' allow this code path. */
+#if 1 /* birds ugly hacking of 'G' allow this code path. (See dbxout.c.)  */
           if (where == -1)
-            {
-              /* I really hope this works! */
+            { /* If I got it right, dbxout.c uses N_FUN for globals in the
+                 text section.  */
               where = symbol->n_type == N_FUN ? N_TEXT : N_DATA;
             }
           if (symbol->n_value == -12357)
-            { /* Special hack for external and communials variables.
-                 We expect the previous two symbols to be an alias for the
-                 undefined symbol. The first of them will then have the name
-                 of this record with an $hll$.* suffix. */
+            { /* Special hack for external and communal variables.
+                 We expect the previous symbol to be an 0xfe or an
+                 (N_UNDF|N_EXT) entry for the symbol we're processing.  */
               ++parse_ptr;
               ti = hll_type ();
 
-              if (   *index >= 2
-                  && symbol[-2].n_type == (N_INDR | N_EXT)
-                  && symbol[-1].n_type == N_EXT
-                  && strstr(str_ptr + symbol[-2].n_un.n_strx, "$hll$"))
+              if (   *index >= 1
+                  && (symbol[-1].n_type == N_EXT || symbol[-1].n_type == 0xfe))
                 {
                   const struct nlist *sym2;
-                  int fext = !strstr(str_ptr + symbol[-2].n_un.n_strx, "$hll$comm$");
 
 #if defined (HLL_DEBUG)
                   printf ("  type=%#x\n", ti);
 #endif
-                  sym2 = find_symbol_ex (symbol[-1].n_un.n_strx + str_ptr, *index - 1, fext);
+                  sym2 = find_symbol_ex (symbol[-1].n_un.n_strx + str_ptr, *index - 1, 1);
                   if (sym2)
                     {
@@ -3373,10 +3369,10 @@
                     }
                 }
-              warning ("Cannot find address of external variable %s", name);
+              warning ("Cannot find address of communal/external variable %s", name);
               return;
             }
           /* fall thru */
 
-          #else
+#else /* old code */
           {
           char *psz;
@@ -3404,5 +3400,5 @@
           break;
           }
-          #endif
+#endif /* new / old 'G' handling. */
 
         case 'S':
