games-emulation/dolphin: fix crash on pie-by-default profiles
authorSergei Trofimovich <slyfox@gentoo.org>
Sun, 22 Jul 2018 20:59:04 +0000 (21:59 +0100)
committerSergei Trofimovich <slyfox@gentoo.org>
Sun, 22 Jul 2018 21:06:31 +0000 (22:06 +0100)
commit5c1629567172efd3e05e6b9629d18f8fb98c485e
tree58b2bded934b24d8a45e4136532be165209ac2d6
parent15c489d2ec2ee8906b162a9cbb31e6fec512f445
games-emulation/dolphin: fix crash on pie-by-default profiles

Disable PIE-compatible code generation via CXXFLAGS+=-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.

We don't need this fix for live ebuild.

Closes: https://bugs.gentoo.org/640124
Package-Manager: Portage-2.3.43, Repoman-2.3.10
games-emulation/dolphin/dolphin-5.0.ebuild
games-emulation/dolphin/files/dolphin-5.0-no-pie.patch [new file with mode: 0644]