octave-patch-tracker
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]