Revision: 115398 https://trac.macports.org/changeset/115398 Author: jeremyhu@macports.org Date: 2014-01-01 01:35:02 -0800 (Wed, 01 Jan 2014) Log Message: ----------- dosbox: Add a patch from FreeBSD that is related to clang (but we're still failing to build, so leave blacklisted) Modified Paths: -------------- trunk/dports/emulators/dosbox/Portfile Added Paths: ----------- trunk/dports/emulators/dosbox/files/src__cpu__core_dynrec__risc_x64.h.diff Modified: trunk/dports/emulators/dosbox/Portfile =================================================================== --- trunk/dports/emulators/dosbox/Portfile 2014-01-01 09:06:01 UTC (rev 115397) +++ trunk/dports/emulators/dosbox/Portfile 2014-01-01 09:35:02 UTC (rev 115398) @@ -33,7 +33,8 @@ move ${worksrcpath}/configure.in ${worksrcpath}/configure.ac } -patchfiles 3689.diff 3694.diff 3776.diff 3777.diff +# src__cpu__core_dynrec__risc_x64.h.diff: http://www.freebsd.org/cgi/query-pr.cgi?pr=164243 +patchfiles 3689.diff 3694.diff 3776.diff 3777.diff src__cpu__core_dynrec__risc_x64.h.diff # Assembly language issues universal_variant no @@ -41,7 +42,8 @@ # error: ambiguous instructions require an explicit suffix compiler.blacklist *clang* -use_autoreconf yes +use_autoreconf yes +autoreconf.args -fvi configure.args --disable-sdltest \ --disable-alsatest Added: trunk/dports/emulators/dosbox/files/src__cpu__core_dynrec__risc_x64.h.diff =================================================================== --- trunk/dports/emulators/dosbox/files/src__cpu__core_dynrec__risc_x64.h.diff (rev 0) +++ trunk/dports/emulators/dosbox/files/src__cpu__core_dynrec__risc_x64.h.diff 2014-01-01 09:35:02 UTC (rev 115398) @@ -0,0 +1,14 @@ +Index: src/cpu/core_dynrec/risc_x64.h +=================================================================== +--- src/cpu/core_dynrec/risc_x64.h (revision 3775) ++++ src/cpu/core_dynrec/risc_x64.h (working copy) +@@ -85,7 +85,8 @@ + + static INLINE void gen_reg_memaddr(HostReg reg,void* data) { + Bit64s diff = (Bit64s)data-((Bit64s)cache.pos+5); +- if ((diff<0x80000000LL) && (diff>-0x80000000LL)) { ++ if ((Bit64u)diff<0x0000000080000000ULL || ++ (Bit64u)diff>0xffffffff80000000ULL) { + cache_addb(0x05+(reg<<3)); + // RIP-relative addressing is offset after the instruction + cache_addd((Bit32u)(((Bit64u)diff)&0xffffffffLL));