diff options
author | martymac <martymac@FreeBSD.org> | 2012-01-02 20:16:47 +0800 |
---|---|---|
committer | martymac <martymac@FreeBSD.org> | 2012-01-02 20:16:47 +0800 |
commit | 0886d8506b7928ff2ddc87c96132db786bbce312 (patch) | |
tree | 44197d33f79cfa4763217e0dd3c67fd9ff7e680c /emulators | |
parent | 3f94af66c021c53f695f0122bd706992f8b9556f (diff) | |
download | freebsd-ports-gnome-0886d8506b7928ff2ddc87c96132db786bbce312.tar.gz freebsd-ports-gnome-0886d8506b7928ff2ddc87c96132db786bbce312.tar.zst freebsd-ports-gnome-0886d8506b7928ff2ddc87c96132db786bbce312.zip |
- Update to 20111213
- Use setrlimit() to have mmap() return an address below 2GB.
This avoids using MAP_FIXED, which could discard already mapped pages.
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/dolphin-emu-devel/Makefile | 3 | ||||
-rw-r--r-- | emulators/dolphin-emu-devel/distinfo | 4 | ||||
-rw-r--r-- | emulators/dolphin-emu-devel/files/patch-Source-Core-Common-Src-MemoryUtil.cpp | 40 | ||||
-rw-r--r-- | emulators/dolphin-emu-devel/pkg-plist | 101 |
4 files changed, 144 insertions, 4 deletions
diff --git a/emulators/dolphin-emu-devel/Makefile b/emulators/dolphin-emu-devel/Makefile index 53d94c49d9dc..7aa82455b578 100644 --- a/emulators/dolphin-emu-devel/Makefile +++ b/emulators/dolphin-emu-devel/Makefile @@ -7,7 +7,6 @@ PORTNAME= dolphin-emu PORTVERSION= 3.0.r${REVDATE} -PORTREVISION= 1 CATEGORIES= emulators MASTER_SITES= http://contribs.martymac.org/FreeBSD-ports/distfiles/ \ LOCAL/martymac @@ -25,7 +24,7 @@ LIB_DEPENDS= avformat.1:${PORTSDIR}/multimedia/ffmpeg \ lzo2.2:${PORTSDIR}/archivers/lzo2 \ sfml-network.1:${PORTSDIR}/devel/sfml -REVDATE= 20110912 +REVDATE= 20111213 USE_GNOME= pkgconfig USE_SDL= sdl diff --git a/emulators/dolphin-emu-devel/distinfo b/emulators/dolphin-emu-devel/distinfo index 8359287e1778..3f4eabe2dc29 100644 --- a/emulators/dolphin-emu-devel/distinfo +++ b/emulators/dolphin-emu-devel/distinfo @@ -1,2 +1,2 @@ -SHA256 (dolphin-emu-3.0.r20110912.tgz) = aa1edc0c731a50378b103e6d4a2f51632efe37121fae7f2bf74ffc3ecd6129ea -SIZE (dolphin-emu-3.0.r20110912.tgz) = 27407613 +SHA256 (dolphin-emu-3.0.r20111213.tgz) = c507664e9db3124f8e9b8559f9381d35176f144f68c618074f7e98e16bc7f537 +SIZE (dolphin-emu-3.0.r20111213.tgz) = 28067223 diff --git a/emulators/dolphin-emu-devel/files/patch-Source-Core-Common-Src-MemoryUtil.cpp b/emulators/dolphin-emu-devel/files/patch-Source-Core-Common-Src-MemoryUtil.cpp new file mode 100644 index 000000000000..3a7bfe39a88a --- /dev/null +++ b/emulators/dolphin-emu-devel/files/patch-Source-Core-Common-Src-MemoryUtil.cpp @@ -0,0 +1,40 @@ +--- Source/Core/Common/Src/MemoryUtil.cpp.orig 2011-12-20 19:12:51.735175478 +0100 ++++ Source/Core/Common/Src/MemoryUtil.cpp 2011-12-20 19:22:47.010407665 +0100 +@@ -33,6 +33,13 @@ + #define round_page(x) ((((unsigned long)(x)) + PAGE_MASK) & ~(PAGE_MASK)) + #endif + ++#if defined(__FreeBSD__) ++/* setrlimit(2) */ ++#include <sys/types.h> ++#include <sys/time.h> ++#include <sys/resource.h> ++#endif ++ + // This is purposely not a full wrapper for virtualalloc/mmap, but it + // provides exactly the primitive operations that Dolphin needs. + +@@ -50,7 +57,23 @@ + // effect of discarding already mapped pages that happen to be in the + // requested virtual memory range (such as the emulated RAM, sometimes). + if (low && (!map_hint)) ++ { + map_hint = (char*)round_page(512*1024*1024); /* 0.5 GB rounded up to the next page */ ++#if defined(__FreeBSD__) ++ // XXX Fix maximum data segment size (data + BSS + heap) to 256 MB. ++ // This allows avoiding calling mmap(2) with MAP_FIXED. ++ // On FreeBSD, without lowering this limit, calling mmap(2) ++ // without MAP_FIXED will result in getting an address just ++ // beyond maximum data segment size which will be far beyond ++ // the desired 2 GB. ++ struct rlimit limit; ++ limit.rlim_cur = 0x10000000; // 256 MB ++ limit.rlim_max = 0x10000000; ++ if(setrlimit(RLIMIT_DATA, &limit) != 0) { ++ PanicAlert("Failed to lower maximum data segment size"); ++ } ++#endif ++ } + #endif + void* ptr = mmap(map_hint, size, PROT_READ | PROT_WRITE | PROT_EXEC, + MAP_ANON | MAP_PRIVATE diff --git a/emulators/dolphin-emu-devel/pkg-plist b/emulators/dolphin-emu-devel/pkg-plist index 5b3a65267d81..210b21cfcd07 100644 --- a/emulators/dolphin-emu-devel/pkg-plist +++ b/emulators/dolphin-emu-devel/pkg-plist @@ -70,6 +70,107 @@ bin/dolphin-emu %%DATADIR%%/user/Shaders/auto_toon2.txt %%DATADIR%%/user/Shaders/invert_blue.txt %%DATADIR%%/user/Shaders/invert.txt +%%DATADIR%%/user/GameConfig/GC3P78.ini +%%DATADIR%%/user/GameConfig/R8LE20.ini +%%DATADIR%%/user/GameConfig/SSRPXT.ini +%%DATADIR%%/user/GameConfig/RZZJEL.ini +%%DATADIR%%/user/GameConfig/G5DE78.ini +%%DATADIR%%/user/GameConfig/SUKP01.ini +%%DATADIR%%/user/GameConfig/RMLK52.ini +%%DATADIR%%/user/GameConfig/GFAD69.ini +%%DATADIR%%/user/GameConfig/RMLJH4.ini +%%DATADIR%%/user/GameConfig/SO3EE9.ini +%%DATADIR%%/user/GameConfig/SOJP41.ini +%%DATADIR%%/user/GameConfig/GXOE69.ini +%%DATADIR%%/user/GameConfig/GC3D78.ini +%%DATADIR%%/user/GameConfig/GFAP69.ini +%%DATADIR%%/user/GameConfig/SD2J01.ini +%%DATADIR%%/user/GameConfig/GTFEA4.ini +%%DATADIR%%/user/GameConfig/RLGJ52.ini +%%DATADIR%%/user/GameConfig/GFAE69.ini +%%DATADIR%%/user/GameConfig/GBWD64.ini +%%DATADIR%%/user/GameConfig/GC3E78.ini +%%DATADIR%%/user/GameConfig/GXFF69.ini +%%DATADIR%%/user/GameConfig/SUKE01.ini +%%DATADIR%%/user/GameConfig/G5DP78.ini +%%DATADIR%%/user/GameConfig/SJDY41.ini +%%DATADIR%%/user/GameConfig/GBWP64.ini +%%DATADIR%%/user/GameConfig/SOJE41.ini +%%DATADIR%%/user/GameConfig/GAVY78.ini +%%DATADIR%%/user/GameConfig/G8FE8P.ini +%%DATADIR%%/user/GameConfig/GMIP70.ini +%%DATADIR%%/user/GameConfig/RTMP41.ini +%%DATADIR%%/user/GameConfig/GUBP69.ini +%%DATADIR%%/user/GameConfig/SX8E52.ini +%%DATADIR%%/user/GameConfig/GXFE69.ini +%%DATADIR%%/user/GameConfig/RMLPH4.ini +%%DATADIR%%/user/GameConfig/GOAE52.ini +%%DATADIR%%/user/GameConfig/GC3F78.ini +%%DATADIR%%/user/GameConfig/GOSE41.ini +%%DATADIR%%/user/GameConfig/ROLK01.ini +%%DATADIR%%/user/GameConfig/SUKJ01.ini +%%DATADIR%%/user/GameConfig/SJDZ41.ini +%%DATADIR%%/user/GameConfig/GXFP69.ini +%%DATADIR%%/user/GameConfig/GOSP41.ini +%%DATADIR%%/user/GameConfig/GBWF64.ini +%%DATADIR%%/user/GameConfig/RMLP7U.ini +%%DATADIR%%/user/GameConfig/GFAS69.ini +%%DATADIR%%/user/GameConfig/SO3J99.ini +%%DATADIR%%/user/GameConfig/RTME41.ini +%%DATADIR%%/user/GameConfig/ROLJ01.ini +%%DATADIR%%/user/GameConfig/GMIE70.ini +%%DATADIR%%/user/GameConfig/GUBE69.ini +%%DATADIR%%/user/GameConfig/GEND69.ini +%%DATADIR%%/user/GameConfig/SFIP01.ini +%%DATADIR%%/user/GameConfig/GVCE08.ini +%%DATADIR%%/user/GameConfig/RLGP64.ini +%%DATADIR%%/user/GameConfig/R8PJ01.ini +%%DATADIR%%/user/GameConfig/SSRE20.ini +%%DATADIR%%/user/GameConfig/GT3P52.ini +%%DATADIR%%/user/GameConfig/GENP69.ini +%%DATADIR%%/user/GameConfig/R64P01.ini +%%DATADIR%%/user/GameConfig/GAVP78.ini +%%DATADIR%%/user/GameConfig/RHDE8P.ini +%%DATADIR%%/user/GameConfig/SOUP01.ini +%%DATADIR%%/user/GameConfig/R3NPH3.ini +%%DATADIR%%/user/GameConfig/GT3D52.ini +%%DATADIR%%/user/GameConfig/R8DJA4.ini +%%DATADIR%%/user/GameConfig/SRQE41.ini +%%DATADIR%%/user/GameConfig/SJDP41.ini +%%DATADIR%%/user/GameConfig/GXOX69.ini +%%DATADIR%%/user/GameConfig/R22J01.ini +%%DATADIR%%/user/GameConfig/RHDP8P.ini +%%DATADIR%%/user/GameConfig/SOUE01.ini +%%DATADIR%%/user/GameConfig/R8PK01.ini +%%DATADIR%%/user/GameConfig/SRQP41.ini +%%DATADIR%%/user/GameConfig/SJDE41.ini +%%DATADIR%%/user/GameConfig/SH6E52.ini +%%DATADIR%%/user/GameConfig/RLGE64.ini +%%DATADIR%%/user/GameConfig/GLCF52.ini +%%DATADIR%%/user/GameConfig/GT3E52.ini +%%DATADIR%%/user/GameConfig/SOUJ01.ini +%%DATADIR%%/user/GameConfig/SQME52.ini +%%DATADIR%%/user/GameConfig/R8LP7J.ini +%%DATADIR%%/user/GameConfig/R22E01.ini +%%DATADIR%%/user/GameConfig/R64J01.ini +%%DATADIR%%/user/GameConfig/GP6J01.ini +%%DATADIR%%/user/GameConfig/RM6EEB.ini +%%DATADIR%%/user/GameConfig/GTYE69.ini +%%DATADIR%%/user/GameConfig/GNWP69.ini +%%DATADIR%%/user/GameConfig/GT3F52.ini +%%DATADIR%%/user/GameConfig/SPDP52.ini +%%DATADIR%%/user/GameConfig/SMFP4Q.ini +%%DATADIR%%/user/GameConfig/SOUK01.ini +%%DATADIR%%/user/GameConfig/GTYP69.ini +%%DATADIR%%/user/GameConfig/SPDE52.ini +%%DATADIR%%/user/GameConfig/R64K01.ini +%%DATADIR%%/user/GameConfig/GOSX41.ini +%%DATADIR%%/user/GameConfig/RHDJ8P.ini +%%DATADIR%%/user/GameConfig/G8MJ01.ini +%%DATADIR%%/user/GameConfig/R8DEA4.ini +%%DATADIR%%/user/GameConfig/SQMP52.ini +%%DATADIR%%/user/GameConfig/R22P01.ini +%%DATADIR%%/user/GameConfig/GJZE52.ini %%DATADIR%%/user/GameConfig/GTSE4F.ini %%DATADIR%%/user/GameConfig/GJUF78.ini %%DATADIR%%/user/GameConfig/GF6F69.ini |