浏览代码

+ support R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX

git-svn-id: trunk@48156 -
florian 4 年之前
父节点
当前提交
9003114a8f
共有 2 个文件被更改,包括 8 次插入0 次删除
  1. 2 0
      compiler/ogbase.pas
  2. 6 0
      compiler/x86_64/cpuelf.pas

+ 2 - 0
compiler/ogbase.pas

@@ -59,6 +59,8 @@ interface
          RELOC_RELATIVE_5,
          { PIC }
          RELOC_GOTPCREL,
+         RELOC_GOTPCRELX,
+         RELOC_REX_GOTPCRELX,
          RELOC_PLT32,
          RELOC_TLSGD,
          RELOC_TPOFF,

+ 6 - 0
compiler/x86_64/cpuelf.pas

@@ -88,6 +88,8 @@ implementation
     R_X86_64_TLSDESC_CALL = 35;
     R_X86_64_TLSDESC = 36;
     R_X86_64_IRELATIVE = 37;
+    R_X86_64_GOTPCRELX =41;
+    R_X86_64_REX_GOTPCRELX =42;
     R_X86_64_GNU_VTINHERIT = 250;    { GNU extension to record C++ vtable hierarchy }
     R_X86_64_GNU_VTENTRY = 251;      { GNU extension to record C++ vtable member usage }
 
@@ -169,6 +171,10 @@ implementation
           result:=R_X86_64_32S;
         RELOC_GOTPCREL :
           result:=R_X86_64_GOTPCREL;
+        RELOC_GOTPCRELX :
+          result:=R_X86_64_GOTPCRELX;
+        RELOC_REX_GOTPCRELX :
+          result:=R_X86_64_REX_GOTPCRELX;
         RELOC_PLT32 :
           result:=R_X86_64_PLT32;
         RELOC_TPOFF: