From 57eadd59c56ab982c7f54f54ada378e12df6b978 Mon Sep 17 00:00:00 2001 From: Fabian Deutsch Date: Wed, 20 Feb 2013 11:09:47 +0100 Subject: [PATCH] Update to 0.4.17 and rebase patches Signed-off-by: Fabian Deutsch --- .gitignore | 1 + ...e-a-subdirectory-for-temporary-files.patch | 56 ++++++ ...piler-option-for-ENABLE_USER_CODEMEM.patch | 65 +++++++ orc-no-nopl.patch | 40 ---- orc-no-nopw.patch | 56 ------ orc-subdir.patch | 176 ------------------ orc.spec | 27 ++- reg-alloc-fail.patch | 58 ------ sources | 2 +- 9 files changed, 135 insertions(+), 346 deletions(-) create mode 100644 0001-Use-a-subdirectory-for-temporary-files.patch create mode 100644 0002-Add-compiler-option-for-ENABLE_USER_CODEMEM.patch delete mode 100644 orc-no-nopl.patch delete mode 100644 orc-no-nopw.patch delete mode 100644 orc-subdir.patch delete mode 100644 reg-alloc-fail.patch diff --git a/.gitignore b/.gitignore index 78c48b0..7762cd0 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/0001-Use-a-subdirectory-for-temporary-files.patch b/0001-Use-a-subdirectory-for-temporary-files.patch new file mode 100644 index 0000000..f8fc235 --- /dev/null +++ b/0001-Use-a-subdirectory-for-temporary-files.patch @@ -0,0 +1,56 @@ +From 048ecb97881ad2763c34458eb705fedf09dcc5ff Mon Sep 17 00:00:00 2001 +From: Fabian Deutsch +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 +--- + 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 + diff --git a/0002-Add-compiler-option-for-ENABLE_USER_CODEMEM.patch b/0002-Add-compiler-option-for-ENABLE_USER_CODEMEM.patch new file mode 100644 index 0000000..c6b1487 --- /dev/null +++ b/0002-Add-compiler-option-for-ENABLE_USER_CODEMEM.patch @@ -0,0 +1,65 @@ +From bded311d32daa2339055341a7f1c1782ff39d047 Mon Sep 17 00:00:00 2001 +From: Fabian Deutsch +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 +--- + 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 + diff --git a/orc-no-nopl.patch b/orc-no-nopl.patch deleted file mode 100644 index ebac7c5..0000000 --- a/orc-no-nopl.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 4f813175b93ba44ba3f91cec28f8393d996ff918 Mon Sep 17 00:00:00 2001 -From: David Schleef -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 - diff --git a/orc-no-nopw.patch b/orc-no-nopw.patch deleted file mode 100644 index ed0ac20..0000000 --- a/orc-no-nopw.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 574ee1ee5025d9941e44238e846f6074fbdf2e87 Mon Sep 17 00:00:00 2001 -From: David Schleef -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 - diff --git a/orc-subdir.patch b/orc-subdir.patch deleted file mode 100644 index e026779..0000000 --- a/orc-subdir.patch +++ /dev/null @@ -1,176 +0,0 @@ -From 30a9f48e8dd12f7b607d1dbc9a795f939208f5d6 Mon Sep 17 00:00:00 2001 -From: Fabian Deutsch -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 ---- - 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 -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 ---- - 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 -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 ---- - 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 -Date: Sat, 7 Jan 2012 22:37:08 +0100 -Subject: [PATCH 4/4] orccodemem: Fix a small leak. - -Signed-off-by: Fabian Deutsch ---- - 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 - diff --git a/orc.spec b/orc.spec index 4153178..f3eea82 100644 --- a/orc.spec +++ b/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 - 0.4.17-1 +- Update to latest upstream release +- Removed obsolete patches + * Thu Feb 14 2013 Fedora Release Engineering - 0.4.16-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild diff --git a/reg-alloc-fail.patch b/reg-alloc-fail.patch deleted file mode 100644 index 020d45b..0000000 --- a/reg-alloc-fail.patch +++ /dev/null @@ -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?= -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 - diff --git a/sources b/sources index 8fd1ff5..d6b466d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e482932e544c847761449b106ecbc483 orc-0.4.16.tar.gz +af1bf3dab9e69f3c36f389285e2a12a1 orc-0.4.17.tar.gz