--- /dev/null
+Disable PIE-compatible code generation via -fno-pie.
+
+Before upstream fix:
+https://github.com/dolphin-emu/dolphin/commit/daa03cd1060cc826aca93a1dffc6e94bc6af6d5f
+dolphin assumed executable image to be in low addresses (<2GB)
+and hardcoded 32-bit absolute addresses during JIT phase.
+
+PIE-compatible code does not have this restriction and
+allows mapping binaries above 2GB area (and breaks dolphin's JIT).
+
+Strictly speaking -no-pie (link-time flag) does not or guarantee
+or require low address mapping for binary if it was already built
+as PIC/PIE.
+
+But -fno-pie imposes additional restrictions on generated code by GCC
+and makes -no-pie to take effect.
+Bug: https://bugs.gentoo.org/640124
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -189,4 +189,4 @@ if(NOT ENABLE_GENERIC)
+ set(_M_X86_64 1)
+- add_definitions(-D_M_X86=1 -D_M_X86_64=1 -msse2)
+- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-pie")
++ add_definitions(-D_M_X86=1 -D_M_X86_64=1 -msse2 -fno-pie)
++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-pie -no-pie")
+ else()