Index: /trunk/include/iprt/asmdefs.mac
===================================================================
--- /trunk/include/iprt/asmdefs.mac	(revision 46557)
+++ /trunk/include/iprt/asmdefs.mac	(revision 46558)
@@ -139,8 +139,10 @@
  %endif
 %elifdef ASM_FORMAT_ELF
- %ifdef RT_ARCH_AMD64
-  %define IMP2(name)    qword [rel IMPNAME(name) wrt ..got]
- %else
-  %define IMP2(name)    IMPNAME(name) wrt ..plt
+ %ifdef PIC
+  %ifdef RT_ARCH_AMD64
+   %define IMP2(name)   qword [rel IMPNAME(name) wrt ..got]
+  %else
+   %define IMP2(name)   IMPNAME(name) wrt ..plt
+  %endif
  %endif
 %elifdef ASM_FORMAT_MACHO
@@ -150,10 +152,7 @@
   %define IMP2(name)    IMPNAME(name)
  %endif
-%else
- %ifdef RT_ARCH_AMD64
-  %define IMP2(name)    IMPNAME(name) wrt rip
- %else
-  %define IMP2(name)    IMPNAME(name)
- %endif
+%endif
+%ifndef IMP2
+ %define IMP2(name)     IMPNAME(name)
 %endif
 
Index: /trunk/src/bldprogs/VBoxTpG.cpp
===================================================================
--- /trunk/src/bldprogs/VBoxTpG.cpp	(revision 46557)
+++ /trunk/src/bldprogs/VBoxTpG.cpp	(revision 46558)
@@ -851,6 +851,5 @@
                                 "        jmp     [rel %s wrt ..got]\n"
                                 : g_fProbeFnImported ?
-                                "        mov     rax, IMP2(%s)\n"
-                                "        jmp     rax\n"
+                                "        jmp     IMP2(%s)\n"
                                 :
                                 "        jmp     NAME(%s)\n"
