[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-patch-tracker] [patch #8395] Work-in-progress port of Octave JIT
From: |
Stefan Mahr |
Subject: |
[Octave-patch-tracker] [patch #8395] Work-in-progress port of Octave JIT to libgccjit |
Date: |
Tue, 18 Nov 2014 16:53:02 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/38.0.2125.111 Chrome/38.0.2125.111 Safari/537.36 |
Follow-up Comment #6, patch #8395 (project octave):
I rebased your patch and added some autoconf magic. Compiling is successful,
but running octave leads to SIGABRT.
libgccjit.so: error: gcc_jit_context_new_call: mismatching types for argument
3 of function "octave_jit_call": assignment to param arg2 (type: struct
octave_base_value * *) from tmp_array (type: struct octave_base_value *[1])
gcc_jit_rvalue_as_object: NULL rvalue
terminate called after throwing an instance of 'gccjit::error'
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffb9fae700 (LWP 26805)]
0x00007ffff44b9bb9 in __GI_raise (address@hidden) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht
gefunden.
(gdb) bt
#0 0x00007ffff44b9bb9 in __GI_raise (address@hidden) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff44bcfc8 in __GI_abort () at abort.c:89
#2 0x00007ffff4dcd6b5 in __gnu_cxx::__verbose_terminate_handler() ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff4dcb836 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff4dcb863 in std::terminate() () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff4dcbaa2 in __cxa_throw () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff720ded9 in gccjit::object::object (this=0x7fffb9fa9af0,
obj=0x0)
at /arb/devel/octave/gccjit/gccjit-install/include/libgccjit++.h:1063
#7 0x00007ffff720e814 in gccjit::rvalue::rvalue (this=0x7fffb9fa9af0,
inner=0x0)
at /arb/devel/octave/gccjit/gccjit-install/include/libgccjit++.h:1385
#8 0x00007ffff720d983 in gccjit::context::new_call (this=0x7fffb9fa9b40,
func=..., args=..., loc=...)
at /arb/devel/octave/gccjit/gccjit-install/include/libgccjit++.h:941
#9 0x00007ffff71f704e in jit_function::call (this=0x7fffa055a9f8, ctxt=...,
block=..., in_args=...)
at ../../octave-src/libinterp/corefcn/jit-typeinfo.cc:912
#10 0x00007ffff720ba4b in jit_typeinfo::register_generic (this=0x7fffa055a2e0,
name=..., result=0x7fffa055cde0,
args=...) at ../../octave-src/libinterp/corefcn/jit-typeinfo.cc:2912
I built gccjit and octave with this script:
CURDIR=$(pwd)
# clone repositories
cd ${CURDIR}
git clone git://gcc.gnu.org/git/gcc.git gcc-src
cd gcc-src
git checkout dmalcolm/jit
cd ${CURDIR}
hg clone http://octave.org/hg/octave octave-src
cd octave-src
hg pull http://hg.octave.org/octave-nkf
hg up gccjit
./bootstrap
LIBGCCJIT_PREFIX=${CURDIR}/gccjit-install
# gccjit
cd ${CURDIR}
rm -rf gcc-build
mkdir -p gcc-build
cd gcc-build
../gcc-src/configure
--prefix=${LIBGCCJIT_PREFIX}
--enable-host-shared
--enable-languages=jit
--disable-bootstrap
make -j8
make install
# octave
cd ${CURDIR}
export LD_LIBRARY_PATH=${LIBGCCJIT_PREFIX}/lib:$LD_LIBRARY_PATH
rm -rf octave-build
mkdir -p octave-build
cd octave-build
../octave-src/configure
--prefix=${LIBGCCJIT_PREFIX}
--enable-jit
--disable-gui
FFLAGS=-g CFLAGS=-g CXXFLAGS=-g --enable-bounds-check
LIBGCCJIT_PREFIX=${LIBGCCJIT_PREFIX}
make -j8
./run-octave -g
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/patch/?8395>
_______________________________________________
Nachricht gesendet von/durch Savannah
http://savannah.gnu.org/