diff --git a/i386-gen.c b/i386-gen.c
index 46afd785..e51fa318 100644
--- a/i386-gen.c
+++ b/i386-gen.c
@@ -114,6 +114,11 @@ void greloc_patch(unsigned char *ptr,
     case R_386_PC32:
         *(int *)ptr += val - addr;
         break;
+    case R_386_GOTPC:
+        *(int *)ptr += val - addr; /* XXX: use GOT address directly
+                                      instead of relying on
+                                      _GLOBAL_OFFSET_TABLE symbol ? */
+        break;
     }
 }