[orc] Update subdir-patch.

Fabian Deutsch fabiand at fedoraproject.org
Tue Jan 3 10:36:30 UTC 2012


commit 48b8e8aca806b55cef2ff5c5708e1e06f3a5da12
Author: Fabian Deutsch <fabian.deutsch at gmx.de>
Date:   Tue Jan 3 11:35:48 2012 +0100

    Update subdir-patch.
    
    Introduces a build param to disable non-user-dependent temp dirs and fixes a allocation bug.
    
    Signed-off-by: Fabian Deutsch <fabian.deutsch at gmx.de>

 orc-subdir.patch |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 105 insertions(+), 3 deletions(-)
---
diff --git a/orc-subdir.patch b/orc-subdir.patch
index 5386a7a..e765f1a 100644
--- a/orc-subdir.patch
+++ b/orc-subdir.patch
@@ -1,7 +1,7 @@
-From 8bc69ba508e2ec6e573ba197d0f20b1a39a1c920 Mon Sep 17 00:00:00 2001
+From 30a9f48e8dd12f7b607d1dbc9a795f939208f5d6 Mon Sep 17 00:00:00 2001
 From: Fabian Deutsch <fabian.deutsch at gmx.de>
 Date: Tue, 4 Oct 2011 13:28:38 +0200
-Subject: [PATCH] Use a subdirectory for temporary files.
+Subject: [PATCH 1/3] Use a subdirectory for temporary files.
 
 This allows the a better integration with selinux, as the rule can use the path name and doesn't need globbing.
 
@@ -44,5 +44,107 @@ index f470be5..e125faa 100644
    filename = malloc (strlen ("/orcexec..") +
        strlen (dir) + 6 + 1);
 -- 
-1.7.6.4
+1.7.7.5
+
+
+From 2e35ab7bca7eef855b12eed26da9d543c8b225b6 Mon Sep 17 00:00:00 2001
+From: Fabian Deutsch <fabian.deutsch at gmx.de>
+Date: Sun, 1 Jan 2012 21:25:28 +0100
+Subject: [PATCH 2/3] orccodemem.c: Fix memory allocation and directory
+ existance.
+
+Noted in https://bugzilla.redhat.com/show_bug.cgi?id=770602
+
+Signed-off-by: Fabian Deutsch <fabian.deutsch at gmx.de>
+---
+ orc/orccodemem.c |    6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/orc/orccodemem.c b/orc/orccodemem.c
+index e125faa..be76472 100644
+--- a/orc/orccodemem.c
++++ b/orc/orccodemem.c
+@@ -201,11 +201,11 @@ orc_code_region_allocate_codemem_dual_map (OrcCodeRegion *region,
+   char *dir;
+   struct stat stat_p;
+   
+-  dir = malloc (strlen (basedir) + strlen ("/.orc"));
++  dir = malloc (strlen (basedir) + strlen ("/.orc") + 1);
+   sprintf (dir, "%s/.orc", basedir);
+ 
+-  stat (dir, &stat_p);
+-  if (!S_ISDIR (stat_p.st_mode))
++  if (stat (dir, &stat_p) == -1 || 
++      !S_ISDIR (stat_p.st_mode))
+   {
+     n = mkdir (dir, S_IRWXU);
+     if (n < 0)
+-- 
+1.7.7.5
+
+
+From 2917974cb1a436831226ba17fc3017ad855c69d3 Mon Sep 17 00:00:00 2001
+From: Fabian Deutsch <fabian.deutsch at gmx.de>
+Date: Sun, 1 Jan 2012 21:41:04 +0100
+Subject: [PATCH 3/3] Add compiler option for ENABLE_USER_CODEMEM.
+
+This option disbales non-user-dependent path checking at compile time. If enabled, only paths corresponding to a user are checked.
+
+Signed-off-by: Fabian Deutsch <fabian.deutsch at gmx.de>
+---
+ configure.ac     |    4 ++++
+ orc/Makefile.am  |    3 +++
+ orc/orccodemem.c |    2 ++
+ 3 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6637b8e..b44d577 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -164,6 +164,10 @@ AM_CONDITIONAL(ENABLE_BACKEND_NEON, test "x$ENABLE_BACKEND_NEON" = "xyes")
+ AM_CONDITIONAL(ENABLE_BACKEND_ARM, test "x$ENABLE_BACKEND_ARM" = "xyes")
+ AM_CONDITIONAL(ENABLE_BACKEND_C64X, test "x$ENABLE_BACKEND_C64X" = "xyes")
+ 
++AC_ARG_ENABLE(user-codemem,
++  AC_HELP_STRING([--enable-user-codemem],[Force codemem allocation to be user dependent (default is no)]),
++    [], [enable_user_codemem=yes])
++AM_CONDITIONAL(ENABLE_USER_CODEMEM, test "x$enable_user_codemem" = "xyes")
+ 
+ AC_DEFINE(ORC_EXPORTS, 1, [Defined for compiling internal code])
+ 
+diff --git a/orc/Makefile.am b/orc/Makefile.am
+index 8f379e0..43e9028 100644
+--- a/orc/Makefile.am
++++ b/orc/Makefile.am
+@@ -9,6 +9,9 @@ liborc_ at ORC_MAJORMINOR@_la_LDFLAGS = \
+ 	-no-undefined -export-symbols-regex 'orc_'
+ liborc_ at ORC_MAJORMINOR@_la_CFLAGS = $(ORC_CFLAGS) \
+ 	-DORC_ENABLE_UNSTABLE_API
++if ENABLE_USER_CODEMEM
++liborc_ at ORC_MAJORMINOR@_la_CFLAGS += -DORC_FORCE_USER_CODEMEM
++endif
+ 
+ liborc_ at ORC_MAJORMINOR@_la_SOURCES = \
+ 	orc.c \
+diff --git a/orc/orccodemem.c b/orc/orccodemem.c
+index be76472..32c14f1 100644
+--- a/orc/orccodemem.c
++++ b/orc/orccodemem.c
+@@ -279,12 +279,14 @@ orc_code_region_allocate_codemem (OrcCodeRegion *region)
+ {
+   const char *tmpdir;
+ 
++#ifndef ORC_FORCE_USER_CODEMEM
+   tmpdir = getenv ("TMPDIR");
+   if (tmpdir && orc_code_region_allocate_codemem_dual_map (region,
+         tmpdir, FALSE)) return;
+ 
+   if (orc_code_region_allocate_codemem_dual_map (region,
+         "/tmp", FALSE)) return;
++#endif
+ 
+   tmpdir = getenv ("XDG_RUNTIME_DIR");
+   if (tmpdir && orc_code_region_allocate_codemem_dual_map (region,
+-- 
+1.7.7.5
 


More information about the scm-commits mailing list