mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-05 12:26:52 +02:00
testing/xulrunner: test the ff9 randmap fix
This commit is contained in:
parent
21fd8d2969
commit
c486c7dbd2
@ -3,7 +3,7 @@
|
||||
pkgname=xulrunner
|
||||
pkgver=9.0.1
|
||||
_ffoxver=9.0.1
|
||||
pkgrel=0
|
||||
pkgrel=1
|
||||
pkgdesc="runtime environment for xul-based applications"
|
||||
url="http://developer.mozilla.org/en/XULRunner"
|
||||
arch="all"
|
||||
@ -48,6 +48,7 @@ source="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${_ffoxver}
|
||||
0002-Use-C99-math-isfinite.patch
|
||||
0003-xulrunner-jemalloc-aslr.patch
|
||||
0004-xulrunner-malloc_usable_size.patch
|
||||
ff9-aslr-fix.patch
|
||||
"
|
||||
|
||||
_builddir="${srcdir}/mozilla-release"
|
||||
@ -105,4 +106,5 @@ md5sums="7cf2bd379792a9b232267c6a79680566 firefox-9.0.1.source.tar.bz2
|
||||
b0f7d491bc800b69ec718667a4b08acb mozconfig
|
||||
1867db217d10722675c88b655db8c2d7 0002-Use-C99-math-isfinite.patch
|
||||
7faa279d64c9ec2e7abc7c0497c7e07e 0003-xulrunner-jemalloc-aslr.patch
|
||||
7cf18be3ada3eed5856fbab24219126d 0004-xulrunner-malloc_usable_size.patch"
|
||||
7cf18be3ada3eed5856fbab24219126d 0004-xulrunner-malloc_usable_size.patch
|
||||
96b40acd003a0a586e408bf09ae5af1d ff9-aslr-fix.patch"
|
||||
|
||||
40
testing/xulrunner/ff9-aslr-fix.patch
Normal file
40
testing/xulrunner/ff9-aslr-fix.patch
Normal file
@ -0,0 +1,40 @@
|
||||
--- ./js/src/jsgcchunk.cpp 2011-12-22 17:13:21.000000000 +0000
|
||||
+++ ./js/src/jsgcchunk.cpp 2011-12-22 17:18:31.000000000 +0000
|
||||
@@ -213,7 +213,7 @@
|
||||
#elif defined(XP_UNIX)
|
||||
|
||||
/* Required on Solaris 10. Might improve performance elsewhere. */
|
||||
-# if defined(SOLARIS) && defined(MAP_ALIGN)
|
||||
+# if (defined(SOLARIS) && defined(MAP_ALIGN)) || defined(MOZ_MEMORY_LINUX)
|
||||
# define JS_GC_HAS_MAP_ALIGN
|
||||
|
||||
static void *
|
||||
--- ./js/src/jsgcchunk.cpp 2011-12-22 17:55:24.000000000 +0000
|
||||
+++ ./js/src/jsgcchunk.cpp 2011-12-22 18:02:24.000000000 +0000
|
||||
@@ -226,12 +226,24 @@
|
||||
#ifdef SOLARIS
|
||||
void *p = mmap((caddr_t) alignment, size, PROT_READ | PROT_WRITE,
|
||||
MAP_PRIVATE | MAP_NOSYNC | MAP_ALIGN | MAP_ANON, -1, 0);
|
||||
+ if (p == MAP_FAILED)
|
||||
+ return NULL;
|
||||
#else
|
||||
- void *p = mmap((void *) alignment, size, PROT_READ | PROT_WRITE,
|
||||
- MAP_PRIVATE | MAP_NOSYNC | MAP_ALIGN | MAP_ANON, -1, 0);
|
||||
-#endif
|
||||
+ void *p = mmap(NULL, size + alignment, PROT_READ | PROT_WRITE,
|
||||
+ MAP_PRIVATE | MAP_NOSYNC | MAP_ANON, -1, 0);
|
||||
if (p == MAP_FAILED)
|
||||
return NULL;
|
||||
+ uintptr_t aligned_ret;
|
||||
+ size_t extra_size;
|
||||
+
|
||||
+ aligned_ret = (uintptr_t)p + alignment - 1;
|
||||
+ aligned_ret &= ~(alignment - 1);
|
||||
+ extra_size = aligned_ret - (uintptr_t)p;
|
||||
+ munmap(p, extra_size);
|
||||
+ munmap(p + extra_size + size, alignment - extra_size);
|
||||
+ p = (void *)aligned_ret;
|
||||
+#endif
|
||||
+
|
||||
return p;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user