Просмотр исходного кода

* always let mangled names start with an underscore on Mac OS X, because
otherwise the linker does not generate the necessary debug map
information for global variables when using dwarf

git-svn-id: trunk@9447 -

Jonas Maebe 18 лет назад
Родитель
Сommit
124c6c0c13
1 измененных файлов с 5 добавлено и 2 удалено
  1. 5 2
      compiler/symdef.pas

+ 5 - 2
compiler/symdef.pas

@@ -820,8 +820,11 @@ implementation
         if suffix<>'' then
           result:=result+'_'+suffix;
         { the Darwin assembler assumes that all symbols starting with 'L' are local }
-        if (target_info.system in systems_darwin) and
-           (result[1] = 'L') then
+        { Further, the Mac OS X 10.5 linker does not consider symbols which do not  }
+        { start with '_' as regular symbols (it does not generate N_GSYM entries    }
+        { those in the debug map, leading to troubles with dsymutil). So always     }
+        { add an underscore on darwin.                                              }
+        if (target_info.system in systems_darwin) then
           result := '_' + result;
       end;