rpms/openoffice.org/devel openoffice.org-1.9.120.ooo52428.execshield.bridges.patch, 1.1, 1.2 openoffice.org.spec, 1.609, 1.610

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Jan 26 08:49:39 UTC 2006


Author: caolanm

Update of /cvs/dist/rpms/openoffice.org/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv25213

Modified Files:
	openoffice.org-1.9.120.ooo52428.execshield.bridges.patch 
	openoffice.org.spec 
Log Message:
execmem pain

openoffice.org-1.9.120.ooo52428.execshield.bridges.patch:
 bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx   |   18 ++++++++++++++++--
 bridges/source/cpp_uno/gcc3_linux_powerpc/cpp2uno.cxx |   17 ++++++++++++++---
 sal/rtl/source/alloc.c                                |    2 +-
 source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx           |    0 
 source/cpp_uno/gcc3_linux_powerpc/cpp2uno.cxx         |    0 
 5 files changed, 31 insertions(+), 6 deletions(-)

Index: openoffice.org-1.9.120.ooo52428.execshield.bridges.patch
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org-1.9.120.ooo52428.execshield.bridges.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- openoffice.org-1.9.120.ooo52428.execshield.bridges.patch	26 Jul 2005 11:55:13 -0000	1.1
+++ openoffice.org-1.9.120.ooo52428.execshield.bridges.patch	26 Jan 2006 08:49:35 -0000	1.2
@@ -40,3 +40,56 @@
      *slots = mapBlockToVtable(block);
      (*slots)[-2] = 0;
      (*slots)[-1] = 0;
+Index: source/cpp_uno/gcc3_linux_powerpc/cpp2uno.cxx
+===================================================================
+RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_linux_powerpc/cpp2uno.cxx,v
+retrieving revision 1.7
+diff -u -p -u -r1.7 cpp2uno.cxx
+--- openoffice.org.orig/bridges/source/cpp_uno/gcc3_linux_powerpc/cpp2uno.cxx	7 Sep 2005 22:22:31 -0000	1.7
++++ openoffice.org/bridges/source/cpp_uno/gcc3_linux_powerpc/cpp2uno.cxx	26 Jan 2006 09:11:47 -0000
+@@ -44,7 +44,11 @@
+ 
+ #include "share.hxx"
+ // #include <stdio.h>
+-
++#include <sys/mman.h>
++#include <limits.h>    /* for PAGESIZE */
++#ifndef PAGESIZE
++#define PAGESIZE 4096
++#endif
+ 
+ using namespace ::com::sun::star::uno;
+ 
+@@ -662,12 +666,19 @@ void ** bridges::cpp_uno::shared::Vtable
+     return reinterpret_cast< void ** >(block) + 2;
+ }
+ 
++static char *create_executable_block(size_t nSize)
++{
++    char * block = new char[nSize];
++    char *p = (char *)(((int) block + PAGESIZE-1) & ~(PAGESIZE-1));
++    mprotect(p, nSize, PROT_READ | PROT_WRITE | PROT_EXEC);
++    return block;
++}
+ 
+ char * bridges::cpp_uno::shared::VtableFactory::createBlock(
+     sal_Int32 slotCount, void *** slots)
+ {
+-    char * block = new char[
+-        (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize];
++    size_t nSize = (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize;
++    char * block = create_executable_block(nSize);
+     *slots = mapBlockToVtable(block);
+     (*slots)[-2] = 0;
+     (*slots)[-1] = 0;
+--- openoffice.org.orig/sal/rtl/source/alloc.c	2006-01-24 09:07:22.000000000 +0000
++++ openoffice.org/sal/rtl/source/alloc.c	2006-01-24 09:07:37.000000000 +0000
+@@ -104,7 +104,7 @@
+ #endif /* FREEBSD || NETBSD || MACOSX || IRIX || LINUX || SOLARIS */
+ 
+ #ifndef PROT_HEAP
+-#define PROT_HEAP (PROT_READ | PROT_WRITE | PROT_EXEC)
++#define PROT_HEAP (PROT_READ | PROT_WRITE)
+ #endif
+ 
+ /* #95880# building on Solaris 8 provides MAP_ANON, but it


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org.spec,v
retrieving revision 1.609
retrieving revision 1.610
diff -u -r1.609 -r1.610
--- openoffice.org.spec	17 Jan 2006 16:51:26 -0000	1.609
+++ openoffice.org.spec	26 Jan 2006 08:49:35 -0000	1.610
@@ -1,6 +1,6 @@
 %define oootag OOA680
 %define ooomilestone 1
-%define rh_rpm_release 7
+%define rh_rpm_release 8
 
 %define build_fc5 1
 %define build_fc4 0
@@ -1010,7 +1010,7 @@
 cd ../..
 
 cd instsetoo_native/util
-if ! build --dlv_switch link --all -P$MAXBUILDS; then
+if ! build --dlv_switch link --since transex3 -P$MAXBUILDS; then
     echo parallel build failure, diskspace: `df -h . | tail -n 1` - restarting unparallel build...
     unset MAXPROCESS
     build --dlv_switch link --all
@@ -3374,6 +3374,9 @@
 %{instdir}/share/registry/modules/org/openoffice/Office/Scripting/Scripting-python.xcu
 
 %changelog
+* Thu Jan 26 2006 Caolan McNamara <caolanm at redhat.com> - 1:2.0.1.1-8
+- rh#178971# defer exec mem until bridge code
+
 * Tue Jan 17 2006 Caolan McNamara <caolanm at redhat.com> - 1:2.0.1.1-7
 - rh#177933# add Serbian sr_CS language pack
 - rh#178002# af_ZA dictionary in wrong encoding




More information about the fedora-cvs-commits mailing list