Update to 0.4.17 and rebase patches
Signed-off-by: Fabian Deutsch <fabiand@fedoraproject.org>
This commit is contained in:
parent
09028b5bee
commit
57eadd59c5
1
.gitignore
vendored
1
.gitignore
vendored
@ -8,3 +8,4 @@ orc-0.4.7.tar.gz
|
||||
/orc-0.4.14.tar.gz
|
||||
/orc-0.4.15.tar.gz
|
||||
/orc-0.4.16.tar.gz
|
||||
/orc-0.4.17.tar.gz
|
||||
|
56
0001-Use-a-subdirectory-for-temporary-files.patch
Normal file
56
0001-Use-a-subdirectory-for-temporary-files.patch
Normal file
@ -0,0 +1,56 @@
|
||||
From 048ecb97881ad2763c34458eb705fedf09dcc5ff 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 1/2] 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.
|
||||
|
||||
Signed-off-by: Fabian Deutsch <fabian.deutsch@gmx.de>
|
||||
---
|
||||
orc/orccodemem.c | 19 ++++++++++++++++++-
|
||||
1 files changed, 18 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/orc/orccodemem.c b/orc/orccodemem.c
|
||||
index f470be5..295a880 100644
|
||||
--- a/orc/orccodemem.c
|
||||
+++ b/orc/orccodemem.c
|
||||
@@ -193,11 +193,27 @@ orc_code_chunk_free (OrcCodeChunk *chunk)
|
||||
#ifdef HAVE_CODEMEM_MMAP
|
||||
int
|
||||
orc_code_region_allocate_codemem_dual_map (OrcCodeRegion *region,
|
||||
- const char *dir, int force_unlink)
|
||||
+ const char *basedir, int force_unlink)
|
||||
{
|
||||
int fd;
|
||||
int n;
|
||||
char *filename;
|
||||
+ char *dir;
|
||||
+ struct stat stat_p;
|
||||
+
|
||||
+ dir = malloc (strlen (basedir) + strlen ("/.orc") + 1);
|
||||
+ sprintf (dir, "%s/.orc", basedir);
|
||||
+
|
||||
+ if (stat (dir, &stat_p) == -1 ||
|
||||
+ !S_ISDIR (stat_p.st_mode))
|
||||
+ {
|
||||
+ n = mkdir (dir, S_IRWXU);
|
||||
+ if (n < 0)
|
||||
+ {
|
||||
+ ORC_WARNING ("failed to create subdir");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
filename = malloc (strlen ("/orcexec..") +
|
||||
strlen (dir) + 6 + 1);
|
||||
@@ -211,6 +227,7 @@ orc_code_region_allocate_codemem_dual_map (OrcCodeRegion *region,
|
||||
if (force_unlink || !_orc_compiler_flag_debug) {
|
||||
unlink (filename);
|
||||
}
|
||||
+ free (dir);
|
||||
free (filename);
|
||||
|
||||
n = ftruncate (fd, SIZE);
|
||||
--
|
||||
1.7.7.6
|
||||
|
65
0002-Add-compiler-option-for-ENABLE_USER_CODEMEM.patch
Normal file
65
0002-Add-compiler-option-for-ENABLE_USER_CODEMEM.patch
Normal file
@ -0,0 +1,65 @@
|
||||
From bded311d32daa2339055341a7f1c1782ff39d047 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 2/2] 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 00e1916..4daee88 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -176,6 +176,10 @@ AM_CONDITIONAL(ENABLE_BACKEND_ARM, test "x$ENABLE_BACKEND_ARM" = "xyes")
|
||||
AM_CONDITIONAL(ENABLE_BACKEND_C64X, test "x$ENABLE_BACKEND_C64X" = "xyes")
|
||||
AM_CONDITIONAL(ENABLE_BACKEND_MIPS, test "x$ENABLE_BACKEND_MIPS" = "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=no])
|
||||
+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 26263e0..887d36b 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 295a880..4a91e3e 100644
|
||||
--- a/orc/orccodemem.c
|
||||
+++ b/orc/orccodemem.c
|
||||
@@ -280,12 +280,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.6
|
||||
|
@ -1,40 +0,0 @@
|
||||
From 4f813175b93ba44ba3f91cec28f8393d996ff918 Mon Sep 17 00:00:00 2001
|
||||
From: David Schleef <ds@schleef.org>
|
||||
Date: Thu, 13 Oct 2011 23:02:00 -0700
|
||||
Subject: [PATCH] x86insn: quick fix for lack of nopl support
|
||||
|
||||
Geode (as well as others) don't have nopl. So don't use it
|
||||
for alignment.
|
||||
---
|
||||
orc/orcx86insn.c | 9 +++++++++
|
||||
1 files changed, 9 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/orc/orcx86insn.c b/orc/orcx86insn.c
|
||||
index 659ebc5..78ca30d 100644
|
||||
--- a/orc/orcx86insn.c
|
||||
+++ b/orc/orcx86insn.c
|
||||
@@ -520,12 +520,21 @@ orc_uint8 nop_codes[][16] = {
|
||||
{ 0 /* MSVC wants something here */ },
|
||||
{ 0x90 },
|
||||
{ 0x66, 0x90 }, /* xchg %ax,%ax */
|
||||
+#if 0
|
||||
{ 0x0f, 0x1f, 0x00 }, /* nopl (%rax) */
|
||||
{ 0x0f, 0x1f, 0x40, 0x00 }, /* nopl 0x0(%rax) */
|
||||
{ 0x0f, 0x1f, 0x44, 0x00, 0x00 }, /* nopl 0x0(%rax,%rax,1) */
|
||||
{ 0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00 }, /* nopw 0x0(%rax,%rax,1) */
|
||||
{ 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00 }, /* nopl 0x0(%rax) */
|
||||
{ 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* nopl 0x0(%rax,%rax,1) */
|
||||
+#else
|
||||
+ { 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00 }, /* nopw 0x0(%rax,%rax,1) */
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
+#endif
|
||||
{ 0x66, 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* nopw 0x0(%rax,%rax,1) */
|
||||
/* Forms of nopw %cs:0x0(%rax,%rax,1) */
|
||||
{ 0x66, 0x2e, 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 },
|
||||
--
|
||||
1.7.0.4
|
||||
|
@ -1,56 +0,0 @@
|
||||
From 574ee1ee5025d9941e44238e846f6074fbdf2e87 Mon Sep 17 00:00:00 2001
|
||||
From: David Schleef <ds@schleef.org>
|
||||
Date: Sat, 15 Oct 2011 11:51:17 -0700
|
||||
Subject: [PATCH] x86insn: switch to ultra-conservative nops
|
||||
|
||||
---
|
||||
orc/orcx86insn.c | 26 ++++++++++++++++++--------
|
||||
1 files changed, 18 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/orc/orcx86insn.c b/orc/orcx86insn.c
|
||||
index 78ca30d..33982e2 100644
|
||||
--- a/orc/orcx86insn.c
|
||||
+++ b/orc/orcx86insn.c
|
||||
@@ -527,14 +527,6 @@ orc_uint8 nop_codes[][16] = {
|
||||
{ 0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00 }, /* nopw 0x0(%rax,%rax,1) */
|
||||
{ 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00 }, /* nopl 0x0(%rax) */
|
||||
{ 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* nopl 0x0(%rax,%rax,1) */
|
||||
-#else
|
||||
- { 0x90, 0x90, 0x90 },
|
||||
- { 0x90, 0x90, 0x90, 0x90 },
|
||||
- { 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
- { 0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00 }, /* nopw 0x0(%rax,%rax,1) */
|
||||
- { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
- { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
-#endif
|
||||
{ 0x66, 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* nopw 0x0(%rax,%rax,1) */
|
||||
/* Forms of nopw %cs:0x0(%rax,%rax,1) */
|
||||
{ 0x66, 0x2e, 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 },
|
||||
@@ -546,6 +538,24 @@ orc_uint8 nop_codes[][16] = {
|
||||
0x00, 0x00 },
|
||||
{ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x2e, 0x0f, 0x1f, 0x84, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00 },
|
||||
+#else
|
||||
+ { 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
|
||||
+ 0x90, },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
|
||||
+ 0x90, 0x90, },
|
||||
+ { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
|
||||
+ 0x90, 0x90, 0x90, },
|
||||
+#endif
|
||||
};
|
||||
|
||||
void
|
||||
--
|
||||
1.7.0.4
|
||||
|
176
orc-subdir.patch
176
orc-subdir.patch
@ -1,176 +0,0 @@
|
||||
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 1/4] 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.
|
||||
|
||||
Signed-off-by: Fabian Deutsch <fabian.deutsch@gmx.de>
|
||||
---
|
||||
orc/orccodemem.c | 18 +++++++++++++++++-
|
||||
1 files changed, 17 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/orc/orccodemem.c b/orc/orccodemem.c
|
||||
index f470be5..e125faa 100644
|
||||
--- a/orc/orccodemem.c
|
||||
+++ b/orc/orccodemem.c
|
||||
@@ -193,11 +193,27 @@ orc_code_chunk_free (OrcCodeChunk *chunk)
|
||||
#ifdef HAVE_CODEMEM_MMAP
|
||||
int
|
||||
orc_code_region_allocate_codemem_dual_map (OrcCodeRegion *region,
|
||||
- const char *dir, int force_unlink)
|
||||
+ const char *basedir, int force_unlink)
|
||||
{
|
||||
int fd;
|
||||
int n;
|
||||
char *filename;
|
||||
+ char *dir;
|
||||
+ struct stat stat_p;
|
||||
+
|
||||
+ dir = malloc (strlen (basedir) + strlen ("/.orc"));
|
||||
+ sprintf (dir, "%s/.orc", basedir);
|
||||
+
|
||||
+ stat (dir, &stat_p);
|
||||
+ if (!S_ISDIR (stat_p.st_mode))
|
||||
+ {
|
||||
+ n = mkdir (dir, S_IRWXU);
|
||||
+ if (n < 0)
|
||||
+ {
|
||||
+ ORC_WARNING ("failed to create subdir");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
filename = malloc (strlen ("/orcexec..") +
|
||||
strlen (dir) + 6 + 1);
|
||||
--
|
||||
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/4] 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 5a9009d4275fd40a0079a8bf44a7de31c2962bb0 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/4] 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..52edb5c 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=no])
|
||||
+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
|
||||
|
||||
|
||||
From 53f540b0856d0e5c03f3d65edcce8d909f204dd4 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Deutsch <fabian.deutsch@gmx.de>
|
||||
Date: Sat, 7 Jan 2012 22:37:08 +0100
|
||||
Subject: [PATCH 4/4] orccodemem: Fix a small leak.
|
||||
|
||||
Signed-off-by: Fabian Deutsch <fabian.deutsch@gmx.de>
|
||||
---
|
||||
orc/orccodemem.c | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/orc/orccodemem.c b/orc/orccodemem.c
|
||||
index 32c14f1..fc16ebc 100644
|
||||
--- a/orc/orccodemem.c
|
||||
+++ b/orc/orccodemem.c
|
||||
@@ -227,6 +227,7 @@ orc_code_region_allocate_codemem_dual_map (OrcCodeRegion *region,
|
||||
if (force_unlink || !_orc_compiler_flag_debug) {
|
||||
unlink (filename);
|
||||
}
|
||||
+ free (dir);
|
||||
free (filename);
|
||||
|
||||
n = ftruncate (fd, SIZE);
|
||||
--
|
||||
1.7.7.5
|
||||
|
27
orc.spec
27
orc.spec
@ -1,24 +1,19 @@
|
||||
Name: orc
|
||||
Version: 0.4.16
|
||||
Release: 8%{?dist}
|
||||
Version: 0.4.17
|
||||
Release: 1%{?dist}
|
||||
Summary: The Oil Run-time Compiler
|
||||
|
||||
Group: System Environment/Libraries
|
||||
License: BSD
|
||||
URL: http://code.entropywave.com/projects/orc/
|
||||
URL: http://cgit.freedesktop.org/gstreamer/orc/
|
||||
Source0: http://code.entropywave.com/download/orc/orc-%{version}.tar.gz
|
||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||
|
||||
BuildRequires: gtk-doc, libtool
|
||||
|
||||
Patch1: orc-no-nopl.patch
|
||||
Patch2: orc-no-nopw.patch
|
||||
|
||||
# Upstream bug: https://bugs.freedesktop.org/show_bug.cgi?id=41446
|
||||
Patch3: orc-subdir.patch
|
||||
|
||||
# Fix fallback when register allocation fails
|
||||
Patch4: reg-alloc-fail.patch
|
||||
# Upstream bugs: https://bugs.freedesktop.org/show_bug.cgi?id=41446
|
||||
Patch1: 0001-Use-a-subdirectory-for-temporary-files.patch
|
||||
Patch2: 0002-Add-compiler-option-for-ENABLE_USER_CODEMEM.patch
|
||||
|
||||
%description
|
||||
Orc is a library and set of tools for compiling and executing
|
||||
@ -60,10 +55,8 @@ The Orc compiler, to produce optimized code.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1 -b .nopl
|
||||
%patch2 -p1 -b .nopw
|
||||
%patch3 -p1 -b .subdir
|
||||
%patch4 -p1 -b .regalloc
|
||||
%patch1 -p1 -b .subdir
|
||||
%patch2 -p1 -b .condtmp
|
||||
|
||||
autoreconf -vif
|
||||
|
||||
@ -127,6 +120,10 @@ make check
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Feb 20 2013 Fabian Deutsch <fabiand@fedoraproject.org> - 0.4.17-1
|
||||
- Update to latest upstream release
|
||||
- Removed obsolete patches
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.16-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
|
@ -1,58 +0,0 @@
|
||||
Fixes http://dev.laptop.org/ticket/12463
|
||||
|
||||
From b4f7fcaf99a4d952e59f2a9fa9286d24cc4b3a5a Mon Sep 17 00:00:00 2001
|
||||
From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= <sebastian.droege@collabora.co.uk>
|
||||
Date: Thu, 10 Jan 2013 18:13:32 +0100
|
||||
Subject: [PATCH] orccompiler: Allow fallback to backup/emulation if the
|
||||
target specific register allocation fails
|
||||
|
||||
The OrcCode of the program wouldn't be filled with all required fields
|
||||
if the register allocation happens to early.
|
||||
---
|
||||
orc/orccompiler.c | 16 +++++++---------
|
||||
1 file changed, 7 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/orc/orccompiler.c b/orc/orccompiler.c
|
||||
index 68eb01e..2175206 100644
|
||||
--- a/orc/orccompiler.c
|
||||
+++ b/orc/orccompiler.c
|
||||
@@ -254,12 +254,6 @@ orc_program_compile_full (OrcProgram *program, OrcTarget *target,
|
||||
orc_compiler_rewrite_vars (compiler);
|
||||
if (compiler->error) goto error;
|
||||
|
||||
- if (compiler->target) {
|
||||
- orc_compiler_global_reg_alloc (compiler);
|
||||
-
|
||||
- orc_compiler_rewrite_vars2 (compiler);
|
||||
- }
|
||||
-
|
||||
#if 0
|
||||
{
|
||||
ORC_ERROR("variables");
|
||||
@@ -285,9 +279,6 @@ orc_program_compile_full (OrcProgram *program, OrcTarget *target,
|
||||
}
|
||||
}
|
||||
#endif
|
||||
-
|
||||
- if (compiler->error) goto error;
|
||||
-
|
||||
program->orccode = orc_code_new ();
|
||||
|
||||
program->orccode->is_2d = program->is_2d;
|
||||
@@ -323,6 +314,13 @@ orc_program_compile_full (OrcProgram *program, OrcTarget *target,
|
||||
goto error;
|
||||
}
|
||||
|
||||
+ if (compiler->target) {
|
||||
+ orc_compiler_global_reg_alloc (compiler);
|
||||
+
|
||||
+ orc_compiler_rewrite_vars2 (compiler);
|
||||
+ }
|
||||
+ if (compiler->error) goto error;
|
||||
+
|
||||
orc_compiler_assign_rules (compiler);
|
||||
if (compiler->error) goto error;
|
||||
|
||||
--
|
||||
1.7.9.5
|
||||
|
Loading…
Reference in New Issue
Block a user