瀏覽代碼

* x86_64, use rip-relative references when taking address of local code labels, fixes test/library/tlib1a.pp for Linux and FreeBSD and passing exception address to FPC_RAISEEXCEPTION on Darwin.

git-svn-id: trunk@19616 -
sergei 13 年之前
父節點
當前提交
ce3f850a68
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      compiler/x86/cgx86.pas

+ 1 - 1
compiler/x86/cgx86.pas

@@ -935,7 +935,7 @@ unit cgx86;
                     else if (cs_create_pic in current_settings.moduleswitches)
 {$ifdef x86_64}
                              and not((ref.symbol.bind=AB_LOCAL) and
-                                     (ref.symbol.typ=AT_DATA))
+                                     (ref.symbol.typ in [AT_DATA,AT_LABEL,AT_ADDR]))
 {$endif x86_64}
                             then
                       begin