diff options
author | Devan Franchini <twitch153@gentoo.org> | 2013-08-26 04:25:07 +0000 |
---|---|---|
committer | Devan Franchini <twitch153@gentoo.org> | 2013-08-26 04:25:07 +0000 |
commit | f265ebe780563c3e3e8dcf7869445dd39485d76b (patch) | |
tree | 72c8af45c267f68e2d7ba81d0f342d0890f015f9 /games-emulation | |
parent | New ebuild and live ebuild for dolphin emulator. Written by myself. Fixes bug... (diff) | |
download | historical-f265ebe780563c3e3e8dcf7869445dd39485d76b.tar.gz historical-f265ebe780563c3e3e8dcf7869445dd39485d76b.tar.bz2 historical-f265ebe780563c3e3e8dcf7869445dd39485d76b.zip |
New ebuild and live ebuild for dolphin emulator. Written by myself. Fixes bug #281543
Package-Manager: portage-2.1.12.2/cvs/Linux x86_64
Diffstat (limited to 'games-emulation')
-rw-r--r-- | games-emulation/dolphin/Manifest | 5 | ||||
-rw-r--r-- | games-emulation/dolphin/files/dolphin-emu-3.5-gcc-4.8.patch | 211 |
2 files changed, 214 insertions, 2 deletions
diff --git a/games-emulation/dolphin/Manifest b/games-emulation/dolphin/Manifest index 77a439cc414c..2b77dbea7a3d 100644 --- a/games-emulation/dolphin/Manifest +++ b/games-emulation/dolphin/Manifest @@ -1,5 +1,6 @@ AUX dolphin-emu-3.5-gcc-4.8.patch 6682 SHA256 8f153b45b354d52e084694d285fe49409a47f0738e064ca7ba88b38cbbd6f1ca SHA512 98a2e0435b262af4bcf875ef29d14ed5ae204faebadbed7778cfedb3c9841552ecab83ef932e943c779d634d83f6df6d43a656c5e72732e85827902cb08622aa WHIRLPOOL 7128c98fcd22efde2a8067a28d9b064689fa7a5f81b068313a19e41f4fc659b726293bc00539be725077ff5529276c0769e7acbf8146c2c8d578c3812776d488 DIST dolphin-3.5-src.zip 28805192 SHA256 b95cb6f487c1f77471c08cfb52bc9844bb2385f0ffd8fb45416b4c5095eb8d9a SHA512 4e607f9ed15c19967382a178c725a015fa8e2db4f624e9b54c50af31bdbae333989be8397cd32d0aa3b5283caf85a67e5529583be4423ada5c6f098ca7c309ef WHIRLPOOL a840f15153eff2edb5f2c75410e6fed3cca7fbffe2eb05bbf6441b914f7b27c6d9ee90de27fb9a773b601c44311828b95e3c597000cf607ff12d1141266e50bc -EBUILD dolphin-3.5.ebuild 3750 SHA256 faf60eae44525cb1c50060fc3d8a2be0ddfa23ab09e7cd1862b404faecfe7692 SHA512 e6e65927756e99939beab0c8be2b67a51b3d2b9b80a812d4d0e451add4d7ac7ec655eec6143a5b24c84befbeea59603747d9be2da77cebe8ae096029bb6a7178 WHIRLPOOL 84c1aeecd4b623d97d82f9581e7c5c6151dc6ecbbcbbf6f56584c749e50dd3d0db46d871b4e34f6148e456ebbe5003e008e0a29a13ed23703fa5b09e70291e8a -EBUILD dolphin-9999.ebuild 3150 SHA256 410c1f56cbd32fafda7f54de9e73adb92d665e6506646c7c44bd9f5d0ae8a55a SHA512 87be512add453fea123f7f917d91b347460d2ac224545caf796e11a7b059be2bafa4d189b8bacb64f9ab4d2281c5a03672c113f0057643c00fbe52deb72ce8ad WHIRLPOOL 00c05054bd9db886a8d7294d5733a365942d3200c235d411556833516ac6fff2be655e3efeff021cde70dbe4ff8441cc66401ac21a1f06606a5fbb274c4f0b4f +EBUILD dolphin-3.5.ebuild 3857 SHA256 52595c115f826cbc26b3b8e2c06d254a8e036e66364405f94991aeb7a2b3f199 SHA512 c248ad029a0b294052f9ed0f2a9cfd8bb6756f8e2c04c7f748a903cc29acac059c2a96fd746d5db001ca4c38d6b9e1714655f1e120c95bea19194a82d0373e13 WHIRLPOOL b4eea100b9c4051e9169a2d19e0563e1965bfdd19b02958e0536dd96c4b0b94fe6f3637ff5e51778912a73ae1217f78511ff802b99cb31d76953fa9c5feb074c +EBUILD dolphin-9999.ebuild 3258 SHA256 3b51231bb32920a6209ca5fba23f8efd34a08a6d7445c45fd24a585be7b28a7f SHA512 5e99b188abaea266ec1a18e394de458d75a8c20ae32f4ac0c76b746c63e5c38083bea5d84549617fe58ff1442081f7b28457d96023dd94fbe858f959cefcfde3 WHIRLPOOL cf780c78f5caa99ebf32391c6b192a778271b5ada2cd731fab54813e8d60f82541d8eada10a7e29fb710987913973dca7672bc6d1d5f8cd0e73ee110765878d7 +MISC ChangeLog 491 SHA256 914787ba27c772ead9b5bc8830f8ae52ce70a1ea96dbeef0eb482ab71eed6f1c SHA512 48b5e3f842321b2aff440e7d5a3673261a9b87f69b92499e401daa73de4d29da6d9d921bc42c4ed55cd8b9e1eb7d4a4aa8e6791cce118bfe33ba654509fd4971 WHIRLPOOL 0712e6a393ce7ae7cc5833f90d47e88607ec1907372be321346b681887aeb71c88dd2aa4bb1972f2e2bdff33cd19256e3d335dd861d1c871d1157ed31e6362b9 MISC metadata.xml 442 SHA256 11ac55298ad628e589b592a2da00db1cabfd31ff8621c0fea059d714acdce334 SHA512 96abf53048bb8aea1387eacc40b9cda4e6099f079ddeb669fb23458d67880804fb015970207aa10a21227b87c153208a8dfa4bf4ea279ff7e53dcfebf18ac30e WHIRLPOOL e72458e354da2e4bfeb67de52c31d50a61f3b926fe16c0bcf4aae5e599858e413fcc9057fe1b098e43ee18fabe6a0f05dff008f59065cf34bad02da6480fc120 diff --git a/games-emulation/dolphin/files/dolphin-emu-3.5-gcc-4.8.patch b/games-emulation/dolphin/files/dolphin-emu-3.5-gcc-4.8.patch new file mode 100644 index 000000000000..98b128f90542 --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-emu-3.5-gcc-4.8.patch @@ -0,0 +1,211 @@ +--- Externals/Bochs_disasm/PowerPCDisasm.cpp 2013-05-04 10:01:04.218490222 +0200 ++++ Externals/Bochs_disasm/PowerPCDisasm.cpp 2013-05-04 10:01:19.159459773 +0200 +@@ -580,7 +580,7 @@ + if (me < mb) + mask = ~mask; + //rotate the mask so it can be applied to source reg +- return _rotl(mask, 32 - r); ++ return __rotl(mask, 32 - r); + } + + +--- Source/Core/Common/Src/CommonFuncs.h 2013-05-04 10:01:04.139490384 +0200 ++++ Source/Core/Common/Src/CommonFuncs.h 2013-05-04 10:02:18.181339068 +0200 +@@ -65,7 +65,7 @@ + #endif + #define ARRAYSIZE(A) (sizeof(A)/sizeof((A)[0])) + +-inline u32 _rotl(u32 x, int shift) { ++inline u32 __rotl(u32 x, int shift) { + shift &= 31; + if (!shift) return x; + return (x << shift) | (x >> (32 - shift)); +@@ -76,7 +76,7 @@ + return (x << n) | (x >> (64 - n)); + } + +-inline u32 _rotr(u32 x, int shift) { ++inline u32 __rotr(u32 x, int shift) { + shift &= 31; + if (!shift) return x; + return (x >> shift) | (x << (32 - shift)); +--- Source/Core/Common/Src/Hash.cpp 2013-05-04 10:01:04.140490382 +0200 ++++ Source/Core/Common/Src/Hash.cpp 2013-05-04 10:01:19.161459756 +0200 +@@ -362,15 +362,15 @@ + inline void bmix32(u32 & h1, u32 & h2, u32 & k1, u32 & k2, u32 & c1, u32 & c2) + { + k1 *= c1; +- k1 = _rotl(k1,11); ++ k1 = __rotl(k1,11); + k1 *= c2; + h1 ^= k1; + h1 += h2; + +- h2 = _rotl(h2,17); ++ h2 = __rotl(h2,17); + + k2 *= c2; +- k2 = _rotl(k2,11); ++ k2 = __rotl(k2,11); + k2 *= c1; + h2 ^= k2; + h2 += h1; +--- Source/Core/Core/Src/ARDecrypt.cpp 2013-05-04 10:01:04.193490273 +0200 ++++ Source/Core/Core/Src/ARDecrypt.cpp 2013-05-04 10:01:19.161459756 +0200 +@@ -270,26 +270,26 @@ + { + u32 tmp; + +- *val = _rotl(*val,4); ++ *val = __rotl(*val,4); + + tmp = ((*addr^*val)&0xF0F0F0F0); + *addr ^= tmp; +- *val = _rotr((*val^tmp),0x14); ++ *val = __rotr((*val^tmp),0x14); + + tmp = ((*addr^*val)&0xFFFF0000); + *addr ^= tmp; +- *val = _rotr((*val^tmp),0x12); ++ *val = __rotr((*val^tmp),0x12); + + tmp = ((*addr^*val)&0x33333333); + *addr ^= tmp; +- *val = _rotr((*val^tmp),6); ++ *val = __rotr((*val^tmp),6); + + tmp = ((*addr^*val)&0x00FF00FF); + *addr ^= tmp; +- *val = _rotl((*val^tmp),9); ++ *val = __rotl((*val^tmp),9); + + tmp = ((*addr^*val)&0xAAAAAAAA); +- *addr = _rotl((*addr^tmp),1); ++ *addr = __rotl((*addr^tmp),1); + *val ^= tmp; + } + +@@ -297,27 +297,27 @@ + { + u32 tmp; + +- *val = _rotr(*val,1); ++ *val = __rotr(*val,1); + + tmp = ((*addr^*val)&0xAAAAAAAA); + *val ^= tmp; +- *addr = _rotr((*addr^tmp),9); ++ *addr = __rotr((*addr^tmp),9); + + tmp = ((*addr^*val)&0x00FF00FF); + *val ^= tmp; +- *addr = _rotl((*addr^tmp),6); ++ *addr = __rotl((*addr^tmp),6); + + tmp = ((*addr^*val)&0x33333333); + *val ^= tmp; +- *addr = _rotl((*addr^tmp),0x12); ++ *addr = __rotl((*addr^tmp),0x12); + + tmp = ((*addr^*val)&0xFFFF0000); + *val ^= tmp; +- *addr = _rotl((*addr^tmp),0x14); ++ *addr = __rotl((*addr^tmp),0x14); + + tmp = ((*addr^*val)&0xF0F0F0F0); + *val ^= tmp; +- *addr = _rotr((*addr^tmp),4); ++ *addr = __rotr((*addr^tmp),4); + } + + void decryptcode(u32 *seeds, u32 *code) +@@ -330,11 +330,11 @@ + unscramble1(&addr,&val); + while (i < 32) + { +- tmp = (_rotr(val,4)^seeds[i++]); ++ tmp = (__rotr(val,4)^seeds[i++]); + tmp2 = (val^seeds[i++]); + addr ^= (table6[tmp&0x3F]^table4[(tmp>>8)&0x3F]^table2[(tmp>>16)&0x3F]^table0[(tmp>>24)&0x3F]^table7[tmp2&0x3F]^table5[(tmp2>>8)&0x3F]^table3[(tmp2>>16)&0x3F]^table1[(tmp2>>24)&0x3F]); + +- tmp = (_rotr(addr,4)^seeds[i++]); ++ tmp = (__rotr(addr,4)^seeds[i++]); + tmp2 = (addr^seeds[i++]); + val ^= (table6[tmp&0x3F]^table4[(tmp>>8)&0x3F]^table2[(tmp>>16)&0x3F]^table0[(tmp>>24)&0x3F]^table7[tmp2&0x3F]^table5[(tmp2>>8)&0x3F]^table3[(tmp2>>16)&0x3F]^table1[(tmp2>>24)&0x3F]); + } +--- Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_Integer.cpp 2013-05-04 10:01:04.187490286 +0200 ++++ Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_Integer.cpp 2013-05-04 10:01:19.162459748 +0200 +@@ -194,21 +194,21 @@ + void Interpreter::rlwimix(UGeckoInstruction _inst) + { + u32 mask = Helper_Mask(_inst.MB,_inst.ME); +- m_GPR[_inst.RA] = (m_GPR[_inst.RA] & ~mask) | (_rotl(m_GPR[_inst.RS],_inst.SH) & mask); ++ m_GPR[_inst.RA] = (m_GPR[_inst.RA] & ~mask) | (__rotl(m_GPR[_inst.RS],_inst.SH) & mask); + if (_inst.Rc) Helper_UpdateCR0(m_GPR[_inst.RA]); + } + + void Interpreter::rlwinmx(UGeckoInstruction _inst) + { + u32 mask = Helper_Mask(_inst.MB,_inst.ME); +- m_GPR[_inst.RA] = _rotl(m_GPR[_inst.RS],_inst.SH) & mask; ++ m_GPR[_inst.RA] = __rotl(m_GPR[_inst.RS],_inst.SH) & mask; + if (_inst.Rc) Helper_UpdateCR0(m_GPR[_inst.RA]); + } + + void Interpreter::rlwnmx(UGeckoInstruction _inst) + { + u32 mask = Helper_Mask(_inst.MB,_inst.ME); +- m_GPR[_inst.RA] = _rotl(m_GPR[_inst.RS], m_GPR[_inst.RB] & 0x1F) & mask; ++ m_GPR[_inst.RA] = __rotl(m_GPR[_inst.RS], m_GPR[_inst.RB] & 0x1F) & mask; + + if (_inst.Rc) Helper_UpdateCR0(m_GPR[_inst.RA]); + } +--- Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp 2013-05-04 10:01:04.185490290 +0200 ++++ Source/Core/Core/Src/PowerPC/Jit64/Jit_Integer.cpp 2013-05-04 10:01:19.190459657 +0200 +@@ -1672,7 +1672,7 @@ + { + unsigned result = (int)gpr.R(s).offset; + if (inst.SH != 0) +- result = _rotl(result, inst.SH); ++ result = __rotl(result, inst.SH); + result &= Helper_Mask(inst.MB, inst.ME); + gpr.SetImmediate32(a, result); + if (inst.Rc) +@@ -1739,7 +1739,7 @@ + if (gpr.R(a).IsImm() && gpr.R(s).IsImm()) + { + u32 mask = Helper_Mask(inst.MB,inst.ME); +- gpr.SetImmediate32(a, ((u32)gpr.R(a).offset & ~mask) | (_rotl((u32)gpr.R(s).offset,inst.SH) & mask)); ++ gpr.SetImmediate32(a, ((u32)gpr.R(a).offset & ~mask) | (__rotl((u32)gpr.R(s).offset,inst.SH) & mask)); + if (inst.Rc) + { + ComputeRC(gpr.R(a)); +@@ -1824,7 +1824,7 @@ + u32 mask = Helper_Mask(inst.MB, inst.ME); + if (gpr.R(b).IsImm() && gpr.R(s).IsImm()) + { +- gpr.SetImmediate32(a, _rotl((u32)gpr.R(s).offset, (u32)gpr.R(b).offset & 0x1F) & mask); ++ gpr.SetImmediate32(a, __rotl((u32)gpr.R(s).offset, (u32)gpr.R(b).offset & 0x1F) & mask); + if (inst.Rc) + { + ComputeRC(gpr.R(a)); +--- Source/Core/Core/Src/PowerPC/Jit64IL/IR.cpp 2013-05-04 10:01:04.188490284 +0200 ++++ Source/Core/Core/Src/PowerPC/Jit64IL/IR.cpp 2013-05-04 10:01:19.191459655 +0200 +@@ -248,7 +248,7 @@ + return 0; + case Rol: + if (isImm(*getOp2(I))) { +- return _rotl(ComputeKnownZeroBits(getOp1(I)), ++ return __rotl(ComputeKnownZeroBits(getOp1(I)), + GetImmValue(getOp2(I))); + } + default: +@@ -844,7 +844,7 @@ + InstLoc IRBuilder::FoldRol(InstLoc Op1, InstLoc Op2) { + if (isImm(*Op2)) { + if (isImm(*Op1)) +- return EmitIntConst(_rotl(GetImmValue(Op1), ++ return EmitIntConst(__rotl(GetImmValue(Op1), + GetImmValue(Op2))); + if (!(GetImmValue(Op2) & 31)) return Op1; + } |