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@gmx.de>
This commit is contained in:
parent
5efd661b5d
commit
48b8e8aca8
108
orc-subdir.patch
108
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@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@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@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@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@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_@ORC_MAJORMINOR@_la_LDFLAGS = \
|
||||
-no-undefined -export-symbols-regex 'orc_'
|
||||
liborc_@ORC_MAJORMINOR@_la_CFLAGS = $(ORC_CFLAGS) \
|
||||
-DORC_ENABLE_UNSTABLE_API
|
||||
+if ENABLE_USER_CODEMEM
|
||||
+liborc_@ORC_MAJORMINOR@_la_CFLAGS += -DORC_FORCE_USER_CODEMEM
|
||||
+endif
|
||||
|
||||
liborc_@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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user