diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-devtools/guile/files/workaround-ice-ssa-corruption.patch')
-rw-r--r-- | import-layers/yocto-poky/meta/recipes-devtools/guile/files/workaround-ice-ssa-corruption.patch | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/workaround-ice-ssa-corruption.patch b/import-layers/yocto-poky/meta/recipes-devtools/guile/files/workaround-ice-ssa-corruption.patch deleted file mode 100644 index 6c348384a..000000000 --- a/import-layers/yocto-poky/meta/recipes-devtools/guile/files/workaround-ice-ssa-corruption.patch +++ /dev/null @@ -1,60 +0,0 @@ -libguile/vm-i-system.c: workaround ice ssa corruption while compiling with option -g -O - -While compiling with option -g -O, there was a ssa corruption: -.. -Unable to coalesce ssa_names 48 and 3476 which are marked as MUST COALESCE. -sp_48(ab) and sp_3476(ab) -guile-2.0.11/libguile/vm-engine.c: In function 'vm_debug_engine': -guile-2.0.11/libguile/vm.c:673:19: internal compiler error: SSA corruption - #define VM_NAME vm_debug_engine - ^ -guile-2.0.11/libguile/vm-engine.c:39:1: note: in expansion of macro 'VM_NAME' - VM_NAME (SCM vm, SCM program, SCM *argv, int nargs) - ^ -Please submit a full bug report, -with preprocessed source if appropriate. -See <http://gcc.gnu.org/bugs.html> for instructions. -... - -Tweak libguile/vm-i-system.c to add boundary value check to workaround it. - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - libguile/vm-i-system.c | 20 ++++++++++++++++---- - 1 file changed, 16 insertions(+), 4 deletions(-) - -diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c ---- a/libguile/vm-i-system.c -+++ b/libguile/vm-i-system.c -@@ -625,10 +625,22 @@ VM_DEFINE_INSTRUCTION (47, bind_optionals_shuffle, "bind-optionals/shuffle", 6, - /* now shuffle up, from walk to ntotal */ - { - scm_t_ptrdiff nshuf = sp - walk + 1, i; -- sp = (fp - 1) + ntotal + nshuf; -- CHECK_OVERFLOW (); -- for (i = 0; i < nshuf; i++) -- sp[-i] = walk[nshuf-i-1]; -+ /* check the value of nshuf to workaround ice ssa corruption */ -+ /* while compiling with -O -g */ -+ if (nshuf > 0) -+ { -+ sp = (fp - 1) + ntotal + nshuf; -+ CHECK_OVERFLOW (); -+ for (i = 0; i < nshuf; i++) -+ sp[-i] = walk[nshuf-i-1]; -+ } -+ else -+ { -+ sp = (fp - 1) + ntotal + nshuf; -+ CHECK_OVERFLOW (); -+ for (i = 0; i < nshuf; i++) -+ sp[-i] = walk[nshuf-i-1]; -+ } - } - /* and fill optionals & keyword args with SCM_UNDEFINED */ - while (walk <= (fp - 1) + ntotal) --- -1.9.1 - |