Use both sysv and gnu style linker hash tables.

Change-Id: I658af8e3dd106a5029bb9876bf4dcafa46296ca6
Reviewed-on: https://swiftshader-review.googlesource.com/1480
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Common/Version.h b/src/Common/Version.h
index e180faa..23aaae9 100644
--- a/src/Common/Version.h
+++ b/src/Common/Version.h
@@ -1,7 +1,7 @@
 #define MAJOR_VERSION 3
 #define MINOR_VERSION 2
 #define BUILD_VERSION 7
-#define BUILD_REVISION 47656
+#define BUILD_REVISION 47657
 
 #define STRINGIFY(x) #x
 #define MACRO_STRINGIFY(x) STRINGIFY(x)
diff --git a/src/Main/FrameBuffer.cpp b/src/Main/FrameBuffer.cpp
index bf077d6..e2a3f36 100644
--- a/src/Main/FrameBuffer.cpp
+++ b/src/Main/FrameBuffer.cpp
@@ -185,7 +185,7 @@
 		{
 			copyLocked();
 		}
-	
+
 		unlock();
 	}
 
@@ -347,7 +347,7 @@
 					For(Int x = x0, x < width, x++)
 					{
 						Int c;
-							
+
 						if(state.sourceFormat == FORMAT_X8R8G8B8 || state.sourceFormat == FORMAT_A8R8G8B8)
 						{
 							c = *Pointer<Int>(s);
@@ -425,7 +425,7 @@
 						{
 							blend(state, d, s, c);
 						}
-						
+
 						c += 4;
 						s += sBytes;
 						d += dBytes;
@@ -443,7 +443,7 @@
 		Short4 c2;
 
 		c1 = UnpackLow(As<Byte8>(c1), *Pointer<Byte8>(c));
-		
+
 		if(state.sourceFormat == FORMAT_X8R8G8B8 || state.sourceFormat == FORMAT_A8R8G8B8)
 		{
 			c2 = UnpackLow(As<Byte8>(c2), *Pointer<Byte8>(s));
@@ -528,4 +528,4 @@
 			}
 		#endif
 	}
-}
\ No newline at end of file
+}
diff --git a/src/OpenGL/libEGL/libEGL.cbp b/src/OpenGL/libEGL/libEGL.cbp
index 88e33f3..9859666 100644
--- a/src/OpenGL/libEGL/libEGL.cbp
+++ b/src/OpenGL/libEGL/libEGL.cbp
@@ -98,6 +98,7 @@
 		</Compiler>
 		<Linker>
 			<Add option="-Wl,--version-script=./exports.map" />
+			<Add option="-Wl,--hash-style=both" />
 			<Add library="pthread" />
 		</Linker>
 		<Unit filename="../../Common/SharedLibrary.hpp" />
diff --git a/src/OpenGL/libGLES_CM/libGLES_CM.cbp b/src/OpenGL/libGLES_CM/libGLES_CM.cbp
index e48dd25..5b9081f 100644
--- a/src/OpenGL/libGLES_CM/libGLES_CM.cbp
+++ b/src/OpenGL/libGLES_CM/libGLES_CM.cbp
@@ -1,288 +1,289 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

-<CodeBlocks_project_file>

-	<FileVersion major="1" minor="6" />

-	<Project>

-		<Option title="libGLES_CM" />

-		<Option pch_mode="2" />

-		<Option compiler="clang" />

-		<Build>

-			<Target title="Debug x86">

-				<Option output="./../../../lib/Debug_x86/libGLES_CM.so.1" prefix_auto="0" extension_auto="0" />

-				<Option object_output="obj/x86/Debug/" />

-				<Option type="3" />

-				<Option compiler="clang" />

-				<Option createDefFile="1" />

-				<Option createStaticLib="1" />

-				<Compiler>

-					<Add option="-g" />

-					<Add option="-m32" />

-				</Compiler>

-				<Linker>

-					<Add option="-m32" />

-					<Add library="./../../LLVM/bin/x86/Debug/libLLVM.a" />

-				</Linker>

-				<ExtraCommands>

-					<Add after="ln -s -f ./libGLES_CM.so.1 ./../../../lib/Debug_x86/libGLES_CM.so" />

-				</ExtraCommands>

-			</Target>

-			<Target title="Release x86">

-				<Option output="./../../../lib/Release_x86/libGLES_CM.so.1" prefix_auto="0" extension_auto="0" />

-				<Option object_output="obj/x86/Release/" />

-				<Option type="3" />

-				<Option compiler="clang" />

-				<Option createDefFile="1" />

-				<Option createStaticLib="1" />

-				<Compiler>

-					<Add option="-fomit-frame-pointer" />

-					<Add option="-O2" />

-					<Add option="-march=i686" />

-					<Add option="-m32" />

-					<Add option="-ffunction-sections" />

-					<Add option="-fdata-sections" />

-					<Add option="-DNDEBUG" />

-					<Add option="-DANGLE_DISABLE_TRACE" />

-				</Compiler>

-				<Linker>

-					<Add option="-s" />

-					<Add option="-m32" />

-					<Add option="-Wl,--gc-sections" />

-					<Add library="./../../LLVM/bin/x86/Release/libLLVM.a" />

-				</Linker>

-				<ExtraCommands>

-					<Add after="ln -s -f ./libGLES_CM.so.1 ./../../../lib/Release_x86/libGLES_CM.so" />

-				</ExtraCommands>

-			</Target>

-			<Target title="Debug x64">

-				<Option output="./../../../lib/Debug_x64/libGLES_CM.so.1" prefix_auto="0" extension_auto="0" />

-				<Option object_output="obj/x64/Debug/" />

-				<Option type="3" />

-				<Option compiler="clang" />

-				<Option createDefFile="1" />

-				<Option createStaticLib="1" />

-				<Compiler>

-					<Add option="-g" />

-					<Add option="-m64" />

-					<Add option="-fPIC" />

-				</Compiler>

-				<Linker>

-					<Add option="-m64" />

-					<Add library="./../../LLVM/bin/x64/Debug/libLLVM.a" />

-				</Linker>

-				<ExtraCommands>

-					<Add after="ln -s -f ./libGLES_CM.so.1 ./../../../lib/Debug_x64/libGLES_CM.so" />

-				</ExtraCommands>

-			</Target>

-			<Target title="Release x64">

-				<Option output="./../../../lib/Release_x64/libGLES_CM.so.1" prefix_auto="0" extension_auto="0" />

-				<Option object_output="obj/x64/Release/" />

-				<Option type="3" />

-				<Option compiler="clang" />

-				<Option createDefFile="1" />

-				<Option createStaticLib="1" />

-				<Compiler>

-					<Add option="-fomit-frame-pointer" />

-					<Add option="-O2" />

-					<Add option="-march=core2" />

-					<Add option="-m64" />

-					<Add option="-fPIC" />

-					<Add option="-ffunction-sections" />

-					<Add option="-fdata-sections" />

-					<Add option="-DNDEBUG" />

-					<Add option="-DANGLE_DISABLE_TRACE" />

-				</Compiler>

-				<Linker>

-					<Add option="-s" />

-					<Add option="-m64" />

-					<Add option="-Wl,--gc-sections" />

-					<Add library="./../../LLVM/bin/x64/Release/libLLVM.a" />

-				</Linker>

-				<ExtraCommands>

-					<Add after="ln -s -f ./libGLES_CM.so.1 ./../../../lib/Release_x64/libGLES_CM.so" />

-				</ExtraCommands>

-			</Target>

-		</Build>

-		<Compiler>

-			<Add option="-Wall" />

-			<Add option="-std=c++11" />

-			<Add option="-fexceptions" />

-			<Add option="-fno-operator-names" />

-			<Add option="-msse2" />

-			<Add option="-D__STDC_LIMIT_MACROS" />

-			<Add option="-D__STDC_CONSTANT_MACROS" />

-			<Add directory="./../" />

-			<Add directory="./../include/" />

-			<Add directory="./../../" />

-			<Add directory="./../../LLVM/include-linux/" />

-			<Add directory="./../../LLVM/include/" />

-			<Add directory="./../../LLVM/lib/Target/X86" />

-			<Add directory="./../../Renderer/" />

-			<Add directory="./../../Common/" />

-			<Add directory="./../../Shader/" />

-			<Add directory="./../../Main/" />

-		</Compiler>

-		<Linker>

-			<Add option="-Wl,--version-script=./exports.map" />

-			<Add library="pthread" />

-			<Add library="X11" />

-			<Add library="Xext" />

-		</Linker>

-		<Unit filename="../../Common/CPUID.cpp" />

-		<Unit filename="../../Common/CPUID.hpp" />

-		<Unit filename="../../Common/Configurator.cpp" />

-		<Unit filename="../../Common/Configurator.hpp" />

-		<Unit filename="../../Common/Debug.cpp" />

-		<Unit filename="../../Common/Debug.hpp" />

-		<Unit filename="../../Common/ExceptionHandling.hpp" />

-		<Unit filename="../../Common/Half.cpp" />

-		<Unit filename="../../Common/Half.hpp" />

-		<Unit filename="../../Common/Math.cpp" />

-		<Unit filename="../../Common/Math.hpp" />

-		<Unit filename="../../Common/Memory.cpp" />

-		<Unit filename="../../Common/Memory.hpp" />

-		<Unit filename="../../Common/MetaMacro.hpp" />

-		<Unit filename="../../Common/MutexLock.hpp" />

-		<Unit filename="../../Common/Resource.cpp" />

-		<Unit filename="../../Common/Resource.hpp" />

-		<Unit filename="../../Common/Socket.cpp" />

-		<Unit filename="../../Common/Socket.hpp" />

-		<Unit filename="../../Common/Thread.cpp" />

-		<Unit filename="../../Common/Thread.hpp" />

-		<Unit filename="../../Common/Timer.cpp" />

-		<Unit filename="../../Common/Timer.hpp" />

-		<Unit filename="../../Common/Types.hpp" />

-		<Unit filename="../../Common/Version.h" />

-		<Unit filename="../../Main/Config.cpp" />

-		<Unit filename="../../Main/Config.hpp" />

-		<Unit filename="../../Main/FrameBuffer.cpp" />

-		<Unit filename="../../Main/FrameBuffer.hpp" />

-		<Unit filename="../../Main/FrameBufferX11.cpp" />

-		<Unit filename="../../Main/FrameBufferX11.hpp" />

-		<Unit filename="../../Main/Logo.cpp" />

-		<Unit filename="../../Main/Register.cpp" />

-		<Unit filename="../../Main/Register.hpp" />

-		<Unit filename="../../Main/SwiftConfig.cpp" />

-		<Unit filename="../../Main/SwiftConfig.hpp" />

-		<Unit filename="../../Main/crc.cpp" />

-		<Unit filename="../../Main/crc.h" />

-		<Unit filename="../../Main/serialcommon.h" />

-		<Unit filename="../../Main/serialvalid.cpp" />

-		<Unit filename="../../Main/serialvalid.h" />

-		<Unit filename="../../Reactor/Nucleus.cpp" />

-		<Unit filename="../../Reactor/Nucleus.hpp" />

-		<Unit filename="../../Reactor/Reactor.hpp" />

-		<Unit filename="../../Reactor/Routine.cpp" />

-		<Unit filename="../../Reactor/Routine.hpp" />

-		<Unit filename="../../Reactor/RoutineManager.cpp" />

-		<Unit filename="../../Reactor/RoutineManager.hpp" />

-		<Unit filename="../../Reactor/x86.hpp" />

-		<Unit filename="../../Renderer/Blitter.cpp" />

-		<Unit filename="../../Renderer/Blitter.hpp" />

-		<Unit filename="../../Renderer/Clipper.cpp" />

-		<Unit filename="../../Renderer/Clipper.hpp" />

-		<Unit filename="../../Renderer/Color.cpp" />

-		<Unit filename="../../Renderer/Color.hpp" />

-		<Unit filename="../../Renderer/Context.cpp" />

-		<Unit filename="../../Renderer/Context.hpp" />

-		<Unit filename="../../Renderer/LRUCache.hpp" />

-		<Unit filename="../../Renderer/Matrix.cpp" />

-		<Unit filename="../../Renderer/Matrix.hpp" />

-		<Unit filename="../../Renderer/PixelProcessor.cpp" />

-		<Unit filename="../../Renderer/PixelProcessor.hpp" />

-		<Unit filename="../../Renderer/Plane.cpp" />

-		<Unit filename="../../Renderer/Plane.hpp" />

-		<Unit filename="../../Renderer/Point.cpp" />

-		<Unit filename="../../Renderer/Point.hpp" />

-		<Unit filename="../../Renderer/Polygon.hpp" />

-		<Unit filename="../../Renderer/Primitive.hpp" />

-		<Unit filename="../../Renderer/QuadRasterizer.cpp" />

-		<Unit filename="../../Renderer/QuadRasterizer.hpp" />

-		<Unit filename="../../Renderer/Rasterizer.cpp" />

-		<Unit filename="../../Renderer/Rasterizer.hpp" />

-		<Unit filename="../../Renderer/Renderer.cpp" />

-		<Unit filename="../../Renderer/Renderer.hpp" />

-		<Unit filename="../../Renderer/Sampler.cpp" />

-		<Unit filename="../../Renderer/Sampler.hpp" />

-		<Unit filename="../../Renderer/SetupProcessor.cpp" />

-		<Unit filename="../../Renderer/SetupProcessor.hpp" />

-		<Unit filename="../../Renderer/Stream.hpp" />

-		<Unit filename="../../Renderer/Surface.cpp" />

-		<Unit filename="../../Renderer/Surface.hpp" />

-		<Unit filename="../../Renderer/TextureStage.cpp" />

-		<Unit filename="../../Renderer/TextureStage.hpp" />

-		<Unit filename="../../Renderer/Triangle.hpp" />

-		<Unit filename="../../Renderer/Vector.cpp" />

-		<Unit filename="../../Renderer/Vector.hpp" />

-		<Unit filename="../../Renderer/Vertex.hpp" />

-		<Unit filename="../../Renderer/VertexProcessor.cpp" />

-		<Unit filename="../../Renderer/VertexProcessor.hpp" />

-		<Unit filename="../../Shader/Constants.cpp" />

-		<Unit filename="../../Shader/Constants.hpp" />

-		<Unit filename="../../Shader/PixelRoutine.cpp" />

-		<Unit filename="../../Shader/PixelRoutine.hpp" />

-		<Unit filename="../../Shader/PixelShader.cpp" />

-		<Unit filename="../../Shader/PixelShader.hpp" />

-		<Unit filename="../../Shader/SamplerCore.cpp" />

-		<Unit filename="../../Shader/SamplerCore.hpp" />

-		<Unit filename="../../Shader/SetupRoutine.cpp" />

-		<Unit filename="../../Shader/SetupRoutine.hpp" />

-		<Unit filename="../../Shader/Shader.cpp" />

-		<Unit filename="../../Shader/Shader.hpp" />

-		<Unit filename="../../Shader/ShaderCore.cpp" />

-		<Unit filename="../../Shader/ShaderCore.hpp" />

-		<Unit filename="../../Shader/VertexPipeline.cpp" />

-		<Unit filename="../../Shader/VertexPipeline.hpp" />

-		<Unit filename="../../Shader/VertexProgram.cpp" />

-		<Unit filename="../../Shader/VertexProgram.hpp" />

-		<Unit filename="../../Shader/VertexRoutine.cpp" />

-		<Unit filename="../../Shader/VertexRoutine.hpp" />

-		<Unit filename="../../Shader/VertexShader.cpp" />

-		<Unit filename="../../Shader/VertexShader.hpp" />

-		<Unit filename="../common/debug.cpp" />

-		<Unit filename="../common/debug.h" />

-		<Unit filename="../include/EGL/egl.h" />

-		<Unit filename="../include/EGL/eglext.h" />

-		<Unit filename="../include/EGL/eglplatform.h" />

-		<Unit filename="../include/GLES2/gl2.h" />

-		<Unit filename="../include/GLES2/gl2ext.h" />

-		<Unit filename="../include/GLES2/gl2platform.h" />

-		<Unit filename="../include/GLSLANG/ShaderLang.h" />

-		<Unit filename="../include/KHR/khrplatform.h" />

-		<Unit filename="Buffer.cpp" />

-		<Unit filename="Buffer.h" />

-		<Unit filename="Context.cpp" />

-		<Unit filename="Context.h" />

-		<Unit filename="Device.cpp" />

-		<Unit filename="Device.hpp" />

-		<Unit filename="Framebuffer.cpp" />

-		<Unit filename="Framebuffer.h" />

-		<Unit filename="HandleAllocator.cpp" />

-		<Unit filename="HandleAllocator.h" />

-		<Unit filename="Image.cpp" />

-		<Unit filename="Image.hpp" />

-		<Unit filename="IndexDataManager.cpp" />

-		<Unit filename="IndexDataManager.h" />

-		<Unit filename="RefCountObject.cpp" />

-		<Unit filename="RefCountObject.h" />

-		<Unit filename="Renderbuffer.cpp" />

-		<Unit filename="Renderbuffer.h" />

-		<Unit filename="ResourceManager.cpp" />

-		<Unit filename="ResourceManager.h" />

-		<Unit filename="Texture.cpp" />

-		<Unit filename="Texture.h" />

-		<Unit filename="Unknown.hpp" />

-		<Unit filename="VertexDataManager.cpp" />

-		<Unit filename="VertexDataManager.h" />

-		<Unit filename="libGLES_CM.cpp" />

-		<Unit filename="main.cpp" />

-		<Unit filename="main.h" />

-		<Unit filename="mathutil.h" />

-		<Unit filename="resource.h" />

-		<Unit filename="utilities.cpp" />

-		<Unit filename="utilities.h" />

-		<Unit filename="vertexconversion.h" />

-		<Extensions>

-			<code_completion />

-			<debugger />

-		</Extensions>

-	</Project>

-</CodeBlocks_project_file>

+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_project_file>
+	<FileVersion major="1" minor="6" />
+	<Project>
+		<Option title="libGLES_CM" />
+		<Option pch_mode="2" />
+		<Option compiler="clang" />
+		<Build>
+			<Target title="Debug x86">
+				<Option output="./../../../lib/Debug_x86/libGLES_CM.so.1" prefix_auto="0" extension_auto="0" />
+				<Option object_output="obj/x86/Debug/" />
+				<Option type="3" />
+				<Option compiler="clang" />
+				<Option createDefFile="1" />
+				<Option createStaticLib="1" />
+				<Compiler>
+					<Add option="-g" />
+					<Add option="-m32" />
+				</Compiler>
+				<Linker>
+					<Add option="-m32" />
+					<Add library="./../../LLVM/bin/x86/Debug/libLLVM.a" />
+				</Linker>
+				<ExtraCommands>
+					<Add after="ln -s -f ./libGLES_CM.so.1 ./../../../lib/Debug_x86/libGLES_CM.so" />
+				</ExtraCommands>
+			</Target>
+			<Target title="Release x86">
+				<Option output="./../../../lib/Release_x86/libGLES_CM.so.1" prefix_auto="0" extension_auto="0" />
+				<Option object_output="obj/x86/Release/" />
+				<Option type="3" />
+				<Option compiler="clang" />
+				<Option createDefFile="1" />
+				<Option createStaticLib="1" />
+				<Compiler>
+					<Add option="-fomit-frame-pointer" />
+					<Add option="-O2" />
+					<Add option="-march=i686" />
+					<Add option="-m32" />
+					<Add option="-ffunction-sections" />
+					<Add option="-fdata-sections" />
+					<Add option="-DNDEBUG" />
+					<Add option="-DANGLE_DISABLE_TRACE" />
+				</Compiler>
+				<Linker>
+					<Add option="-s" />
+					<Add option="-m32" />
+					<Add option="-Wl,--gc-sections" />
+					<Add library="./../../LLVM/bin/x86/Release/libLLVM.a" />
+				</Linker>
+				<ExtraCommands>
+					<Add after="ln -s -f ./libGLES_CM.so.1 ./../../../lib/Release_x86/libGLES_CM.so" />
+				</ExtraCommands>
+			</Target>
+			<Target title="Debug x64">
+				<Option output="./../../../lib/Debug_x64/libGLES_CM.so.1" prefix_auto="0" extension_auto="0" />
+				<Option object_output="obj/x64/Debug/" />
+				<Option type="3" />
+				<Option compiler="clang" />
+				<Option createDefFile="1" />
+				<Option createStaticLib="1" />
+				<Compiler>
+					<Add option="-g" />
+					<Add option="-m64" />
+					<Add option="-fPIC" />
+				</Compiler>
+				<Linker>
+					<Add option="-m64" />
+					<Add library="./../../LLVM/bin/x64/Debug/libLLVM.a" />
+				</Linker>
+				<ExtraCommands>
+					<Add after="ln -s -f ./libGLES_CM.so.1 ./../../../lib/Debug_x64/libGLES_CM.so" />
+				</ExtraCommands>
+			</Target>
+			<Target title="Release x64">
+				<Option output="./../../../lib/Release_x64/libGLES_CM.so.1" prefix_auto="0" extension_auto="0" />
+				<Option object_output="obj/x64/Release/" />
+				<Option type="3" />
+				<Option compiler="clang" />
+				<Option createDefFile="1" />
+				<Option createStaticLib="1" />
+				<Compiler>
+					<Add option="-fomit-frame-pointer" />
+					<Add option="-O2" />
+					<Add option="-march=core2" />
+					<Add option="-m64" />
+					<Add option="-fPIC" />
+					<Add option="-ffunction-sections" />
+					<Add option="-fdata-sections" />
+					<Add option="-DNDEBUG" />
+					<Add option="-DANGLE_DISABLE_TRACE" />
+				</Compiler>
+				<Linker>
+					<Add option="-s" />
+					<Add option="-m64" />
+					<Add option="-Wl,--gc-sections" />
+					<Add library="./../../LLVM/bin/x64/Release/libLLVM.a" />
+				</Linker>
+				<ExtraCommands>
+					<Add after="ln -s -f ./libGLES_CM.so.1 ./../../../lib/Release_x64/libGLES_CM.so" />
+				</ExtraCommands>
+			</Target>
+		</Build>
+		<Compiler>
+			<Add option="-Wall" />
+			<Add option="-std=c++11" />
+			<Add option="-fexceptions" />
+			<Add option="-fno-operator-names" />
+			<Add option="-msse2" />
+			<Add option="-D__STDC_LIMIT_MACROS" />
+			<Add option="-D__STDC_CONSTANT_MACROS" />
+			<Add directory="./../" />
+			<Add directory="./../include/" />
+			<Add directory="./../../" />
+			<Add directory="./../../LLVM/include-linux/" />
+			<Add directory="./../../LLVM/include/" />
+			<Add directory="./../../LLVM/lib/Target/X86" />
+			<Add directory="./../../Renderer/" />
+			<Add directory="./../../Common/" />
+			<Add directory="./../../Shader/" />
+			<Add directory="./../../Main/" />
+		</Compiler>
+		<Linker>
+			<Add option="-Wl,--version-script=./exports.map" />
+			<Add option="-Wl,--hash-style=both" />
+			<Add library="pthread" />
+			<Add library="X11" />
+			<Add library="Xext" />
+		</Linker>
+		<Unit filename="../../Common/CPUID.cpp" />
+		<Unit filename="../../Common/CPUID.hpp" />
+		<Unit filename="../../Common/Configurator.cpp" />
+		<Unit filename="../../Common/Configurator.hpp" />
+		<Unit filename="../../Common/Debug.cpp" />
+		<Unit filename="../../Common/Debug.hpp" />
+		<Unit filename="../../Common/ExceptionHandling.hpp" />
+		<Unit filename="../../Common/Half.cpp" />
+		<Unit filename="../../Common/Half.hpp" />
+		<Unit filename="../../Common/Math.cpp" />
+		<Unit filename="../../Common/Math.hpp" />
+		<Unit filename="../../Common/Memory.cpp" />
+		<Unit filename="../../Common/Memory.hpp" />
+		<Unit filename="../../Common/MetaMacro.hpp" />
+		<Unit filename="../../Common/MutexLock.hpp" />
+		<Unit filename="../../Common/Resource.cpp" />
+		<Unit filename="../../Common/Resource.hpp" />
+		<Unit filename="../../Common/Socket.cpp" />
+		<Unit filename="../../Common/Socket.hpp" />
+		<Unit filename="../../Common/Thread.cpp" />
+		<Unit filename="../../Common/Thread.hpp" />
+		<Unit filename="../../Common/Timer.cpp" />
+		<Unit filename="../../Common/Timer.hpp" />
+		<Unit filename="../../Common/Types.hpp" />
+		<Unit filename="../../Common/Version.h" />
+		<Unit filename="../../Main/Config.cpp" />
+		<Unit filename="../../Main/Config.hpp" />
+		<Unit filename="../../Main/FrameBuffer.cpp" />
+		<Unit filename="../../Main/FrameBuffer.hpp" />
+		<Unit filename="../../Main/FrameBufferX11.cpp" />
+		<Unit filename="../../Main/FrameBufferX11.hpp" />
+		<Unit filename="../../Main/Logo.cpp" />
+		<Unit filename="../../Main/Register.cpp" />
+		<Unit filename="../../Main/Register.hpp" />
+		<Unit filename="../../Main/SwiftConfig.cpp" />
+		<Unit filename="../../Main/SwiftConfig.hpp" />
+		<Unit filename="../../Main/crc.cpp" />
+		<Unit filename="../../Main/crc.h" />
+		<Unit filename="../../Main/serialcommon.h" />
+		<Unit filename="../../Main/serialvalid.cpp" />
+		<Unit filename="../../Main/serialvalid.h" />
+		<Unit filename="../../Reactor/Nucleus.cpp" />
+		<Unit filename="../../Reactor/Nucleus.hpp" />
+		<Unit filename="../../Reactor/Reactor.hpp" />
+		<Unit filename="../../Reactor/Routine.cpp" />
+		<Unit filename="../../Reactor/Routine.hpp" />
+		<Unit filename="../../Reactor/RoutineManager.cpp" />
+		<Unit filename="../../Reactor/RoutineManager.hpp" />
+		<Unit filename="../../Reactor/x86.hpp" />
+		<Unit filename="../../Renderer/Blitter.cpp" />
+		<Unit filename="../../Renderer/Blitter.hpp" />
+		<Unit filename="../../Renderer/Clipper.cpp" />
+		<Unit filename="../../Renderer/Clipper.hpp" />
+		<Unit filename="../../Renderer/Color.cpp" />
+		<Unit filename="../../Renderer/Color.hpp" />
+		<Unit filename="../../Renderer/Context.cpp" />
+		<Unit filename="../../Renderer/Context.hpp" />
+		<Unit filename="../../Renderer/LRUCache.hpp" />
+		<Unit filename="../../Renderer/Matrix.cpp" />
+		<Unit filename="../../Renderer/Matrix.hpp" />
+		<Unit filename="../../Renderer/PixelProcessor.cpp" />
+		<Unit filename="../../Renderer/PixelProcessor.hpp" />
+		<Unit filename="../../Renderer/Plane.cpp" />
+		<Unit filename="../../Renderer/Plane.hpp" />
+		<Unit filename="../../Renderer/Point.cpp" />
+		<Unit filename="../../Renderer/Point.hpp" />
+		<Unit filename="../../Renderer/Polygon.hpp" />
+		<Unit filename="../../Renderer/Primitive.hpp" />
+		<Unit filename="../../Renderer/QuadRasterizer.cpp" />
+		<Unit filename="../../Renderer/QuadRasterizer.hpp" />
+		<Unit filename="../../Renderer/Rasterizer.cpp" />
+		<Unit filename="../../Renderer/Rasterizer.hpp" />
+		<Unit filename="../../Renderer/Renderer.cpp" />
+		<Unit filename="../../Renderer/Renderer.hpp" />
+		<Unit filename="../../Renderer/Sampler.cpp" />
+		<Unit filename="../../Renderer/Sampler.hpp" />
+		<Unit filename="../../Renderer/SetupProcessor.cpp" />
+		<Unit filename="../../Renderer/SetupProcessor.hpp" />
+		<Unit filename="../../Renderer/Stream.hpp" />
+		<Unit filename="../../Renderer/Surface.cpp" />
+		<Unit filename="../../Renderer/Surface.hpp" />
+		<Unit filename="../../Renderer/TextureStage.cpp" />
+		<Unit filename="../../Renderer/TextureStage.hpp" />
+		<Unit filename="../../Renderer/Triangle.hpp" />
+		<Unit filename="../../Renderer/Vector.cpp" />
+		<Unit filename="../../Renderer/Vector.hpp" />
+		<Unit filename="../../Renderer/Vertex.hpp" />
+		<Unit filename="../../Renderer/VertexProcessor.cpp" />
+		<Unit filename="../../Renderer/VertexProcessor.hpp" />
+		<Unit filename="../../Shader/Constants.cpp" />
+		<Unit filename="../../Shader/Constants.hpp" />
+		<Unit filename="../../Shader/PixelRoutine.cpp" />
+		<Unit filename="../../Shader/PixelRoutine.hpp" />
+		<Unit filename="../../Shader/PixelShader.cpp" />
+		<Unit filename="../../Shader/PixelShader.hpp" />
+		<Unit filename="../../Shader/SamplerCore.cpp" />
+		<Unit filename="../../Shader/SamplerCore.hpp" />
+		<Unit filename="../../Shader/SetupRoutine.cpp" />
+		<Unit filename="../../Shader/SetupRoutine.hpp" />
+		<Unit filename="../../Shader/Shader.cpp" />
+		<Unit filename="../../Shader/Shader.hpp" />
+		<Unit filename="../../Shader/ShaderCore.cpp" />
+		<Unit filename="../../Shader/ShaderCore.hpp" />
+		<Unit filename="../../Shader/VertexPipeline.cpp" />
+		<Unit filename="../../Shader/VertexPipeline.hpp" />
+		<Unit filename="../../Shader/VertexProgram.cpp" />
+		<Unit filename="../../Shader/VertexProgram.hpp" />
+		<Unit filename="../../Shader/VertexRoutine.cpp" />
+		<Unit filename="../../Shader/VertexRoutine.hpp" />
+		<Unit filename="../../Shader/VertexShader.cpp" />
+		<Unit filename="../../Shader/VertexShader.hpp" />
+		<Unit filename="../common/debug.cpp" />
+		<Unit filename="../common/debug.h" />
+		<Unit filename="../include/EGL/egl.h" />
+		<Unit filename="../include/EGL/eglext.h" />
+		<Unit filename="../include/EGL/eglplatform.h" />
+		<Unit filename="../include/GLES2/gl2.h" />
+		<Unit filename="../include/GLES2/gl2ext.h" />
+		<Unit filename="../include/GLES2/gl2platform.h" />
+		<Unit filename="../include/GLSLANG/ShaderLang.h" />
+		<Unit filename="../include/KHR/khrplatform.h" />
+		<Unit filename="Buffer.cpp" />
+		<Unit filename="Buffer.h" />
+		<Unit filename="Context.cpp" />
+		<Unit filename="Context.h" />
+		<Unit filename="Device.cpp" />
+		<Unit filename="Device.hpp" />
+		<Unit filename="Framebuffer.cpp" />
+		<Unit filename="Framebuffer.h" />
+		<Unit filename="HandleAllocator.cpp" />
+		<Unit filename="HandleAllocator.h" />
+		<Unit filename="Image.cpp" />
+		<Unit filename="Image.hpp" />
+		<Unit filename="IndexDataManager.cpp" />
+		<Unit filename="IndexDataManager.h" />
+		<Unit filename="RefCountObject.cpp" />
+		<Unit filename="RefCountObject.h" />
+		<Unit filename="Renderbuffer.cpp" />
+		<Unit filename="Renderbuffer.h" />
+		<Unit filename="ResourceManager.cpp" />
+		<Unit filename="ResourceManager.h" />
+		<Unit filename="Texture.cpp" />
+		<Unit filename="Texture.h" />
+		<Unit filename="Unknown.hpp" />
+		<Unit filename="VertexDataManager.cpp" />
+		<Unit filename="VertexDataManager.h" />
+		<Unit filename="libGLES_CM.cpp" />
+		<Unit filename="main.cpp" />
+		<Unit filename="main.h" />
+		<Unit filename="mathutil.h" />
+		<Unit filename="resource.h" />
+		<Unit filename="utilities.cpp" />
+		<Unit filename="utilities.h" />
+		<Unit filename="vertexconversion.h" />
+		<Extensions>
+			<code_completion />
+			<debugger />
+		</Extensions>
+	</Project>
+</CodeBlocks_project_file>
diff --git a/src/OpenGL/libGLESv2/libGLESv2.cbp b/src/OpenGL/libGLESv2/libGLESv2.cbp
index 423a6fd..ed0f0b5 100644
--- a/src/OpenGL/libGLESv2/libGLESv2.cbp
+++ b/src/OpenGL/libGLESv2/libGLESv2.cbp
@@ -122,6 +122,7 @@
 		</Compiler>
 		<Linker>
 			<Add option="-Wl,--version-script=./exports.map" />
+			<Add option="-Wl,--hash-style=both" />
 			<Add library="pthread" />
 			<Add library="X11" />
 			<Add library="Xext" />