diff --git a/Makefile b/Makefile
index 51fdf0abf..91c26107b 100644
--- a/Makefile
+++ b/Makefile
@@ -109,7 +109,7 @@ NATIVE_TIMING_LIB = libNativeTiming$(NATIVE_EXT)
bin/Test$(CONFIGURATION)/$(NATIVE_TIMING_LIB): tests/NativeTiming/timing.c $(wildcard $(JI_JDK_INCLUDE_PATHS)/jni.h)
mkdir -p `dirname "$@"`
- gcc -g -shared -m64 -o $@ $< $(JI_JDK_INCLUDE_PATHS:%=-I%)
+ gcc -g -shared -m64 -fPIC -o $@ $< $(JI_JDK_INCLUDE_PATHS:%=-I%)
# Usage: $(call TestAssemblyTemplate,assembly-basename)
define TestAssemblyTemplate
diff --git a/src/java-interop/java-interop.targets b/src/java-interop/java-interop.targets
index 13372fd9b..364d76ed8 100644
--- a/src/java-interop/java-interop.targets
+++ b/src/java-interop/java-interop.targets
@@ -43,7 +43,7 @@
<_Libs>$(MonoLibs)
<_Files>@(ClCompile->'obj\$(Configuration)\%(Filename).o', ' ')
-
+
diff --git a/tests/invocation-overhead/Makefile b/tests/invocation-overhead/Makefile
index 8f58b5979..3e724fdec 100644
--- a/tests/invocation-overhead/Makefile
+++ b/tests/invocation-overhead/Makefile
@@ -28,7 +28,7 @@ jni.c jni.cs: $(JNIENV_GEN)
$(RUNTIME) $< jni.cs jni.c
libjava-interop.dylib: jni.c
- gcc -g -shared -o $@ $< -m64 -DJI_DLL_EXPORT -fvisibility=hidden $(JI_JDK_INCLUDE_PATHS:%=-I%)
+ gcc -g -shared -fPIC -o $@ $< -m64 -DJI_DLL_EXPORT -fvisibility=hidden $(JI_JDK_INCLUDE_PATHS:%=-I%)
run:
$(RUNTIME) test-overheads.exe