OK,I find the reason. ktrace must be config in kernel I will build the custom kernel and try again.
2014-02-14 15:06 GMT+08:00 lhmwzy <[email protected]>: > I'd like to provide,but how to > > #cd cd LuaJIT-2.0.2.patch/src > #ktrace luajit > ktrace: ktrace.out: Function not implemented > > > > > 2014-02-14 14:50 GMT+08:00 Alex Hornung <[email protected]>: > > Can you provide a ktrace(1) output? Just ktrace luajit, and then kdump >> and get the output. >> >> Cheers, >> Alex >> >> >> On 14/02/14 01:22, lhmwzy wrote: >> >> I have tried as fllowing >> >> diff -Nur LuaJIT-2.0.2/src/lj_alloc.c LuaJIT-2.0.2.patch/src/lj_alloc.c >> --- LuaJIT-2.0.2/src/lj_alloc.c 2013-06-03 19:00:00.000000000 +0000 >> +++ LuaJIT-2.0.2.patch/src/lj_alloc.c 2014-02-14 07:19:53.948397000 +0000 >> @@ -188,7 +188,7 @@ >> return ptr; >> } >> >> -#elif LJ_TARGET_OSX || defined(__FreeBSD__) || >> defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__sun__) >> +#elif LJ_TARGET_OSX || defined(__FreeBSD__) || >> defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || >> defined(__sun__)||defined(__DragonFly__) >> >> /* OSX and FreeBSD mmap() use a naive first-fit linear search. >> ** That's perfect for us. Except that -pagezero_size must be set for OSX, >> @@ -202,7 +202,7 @@ >> #endif >> #define MMAP_REGION_END ((uintptr_t)0x80000000) >> >> -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) >> +#if defined(__FreeBSD__) || >> defined(__FreeBSD_kernel__)||defined(__DragonFly__) >> #include <sys/resource.h> >> #endif >> >> @@ -212,7 +212,7 @@ >> /* Hint for next allocation. Doesn't need to be thread-safe. */ >> static uintptr_t alloc_hint = MMAP_REGION_START; >> int retry = 0; >> -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) >> +#if defined(__FreeBSD__) || >> defined(__FreeBSD_kernel__)||defined(__DragonFly__) >> static int rlimit_modified = 0; >> if (LJ_UNLIKELY(rlimit_modified == 0)) { >> struct rlimit rlim; >> diff -Nur LuaJIT-2.0.2/src/lj_arch.h LuaJIT-2.0.2.patch/src/lj_arch.h >> --- LuaJIT-2.0.2/src/lj_arch.h 2013-06-03 19:00:00.000000000 +0000 >> +++ LuaJIT-2.0.2.patch/src/lj_arch.h 2014-02-14 07:21:18.628483000 +0000 >> @@ -67,7 +67,7 @@ >> #elif defined(__MACH__) && defined(__APPLE__) >> #define LUAJIT_OS LUAJIT_OS_OSX >> #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \ >> - defined(__NetBSD__) || defined(__OpenBSD__) >> + defined(__NetBSD__) || defined(__OpenBSD__)||defined(__DragonFly__) >> #define LUAJIT_OS LUAJIT_OS_BSD >> #elif (defined(__sun__) && defined(__svr4__)) || defined(__CYGWIN__) >> #define LUAJIT_OS LUAJIT_OS_POSIX >> >> >cd LuaJIT-2.0.2.patch/ >> > cd src >> > /usr/local/bin/make >> HOSTCC host/minilua.o >> HOSTLINK host/minilua >> DYNASM host/buildvm_arch.h >> HOSTCC host/buildvm.o >> HOSTCC host/buildvm_asm.o >> HOSTCC host/buildvm_peobj.o >> HOSTCC host/buildvm_lib.o >> HOSTCC host/buildvm_fold.o >> HOSTLINK host/buildvm >> BUILDVM lj_vm.s >> ASM lj_vm.o >> CC lj_gc.o >> BUILDVM lj_ffdef.h >> CC lj_err.o >> CC lj_char.o >> BUILDVM lj_bcdef.h >> CC lj_bc.o >> CC lj_obj.o >> CC lj_str.o >> CC lj_tab.o >> CC lj_func.o >> CC lj_udata.o >> CC lj_meta.o >> CC lj_debug.o >> CC lj_state.o >> CC lj_dispatch.o >> CC lj_vmevent.o >> CC lj_vmmath.o >> CC lj_strscan.o >> CC lj_api.o >> CC lj_lex.o >> CC lj_parse.o >> CC lj_bcread.o >> CC lj_bcwrite.o >> CC lj_load.o >> CC lj_ir.o >> CC lj_opt_mem.o >> BUILDVM lj_folddef.h >> CC lj_opt_fold.o >> CC lj_opt_narrow.o >> CC lj_opt_dce.o >> CC lj_opt_loop.o >> CC lj_opt_split.o >> CC lj_opt_sink.o >> CC lj_mcode.o >> CC lj_snap.o >> CC lj_record.o >> CC lj_crecord.o >> BUILDVM lj_recdef.h >> CC lj_ffrecord.o >> CC lj_asm.o >> CC lj_trace.o >> CC lj_gdbjit.o >> CC lj_ctype.o >> CC lj_cdata.o >> CC lj_cconv.o >> CC lj_ccall.o >> CC lj_ccallback.o >> CC lj_carith.o >> CC lj_clib.o >> CC lj_cparse.o >> CC lj_lib.o >> CC lj_alloc.o >> CC lib_aux.o >> BUILDVM lj_libdef.h >> CC lib_base.o >> CC lib_math.o >> CC lib_bit.o >> CC lib_string.o >> CC lib_table.o >> CC lib_io.o >> CC lib_os.o >> CC lib_package.o >> CC lib_debug.o >> CC lib_jit.o >> CC lib_ffi.o >> CC lib_init.o >> AR libluajit.a >> CC luajit.o >> BUILDVM jit/vmdef.lua >> DYNLINK libluajit.so >> LINK luajit >> OK Successfully built LuaJIT >> >> All seems good,but when run >> > ./luajit >> ./luajit: cannot create state: not enough memory >> >> >> 2014-02-14 9:19 GMT+08:00 Justin Sherrill <[email protected]>: >> >>> It looks like it's trying something specific; assuming it's really not >>> supported on DragonFly, you could look in the file and see if it has a >>> fallback for other operating systems that don't support this feature and >>> add DragonFly to that fallback. >>> >>> >>> On Thu, Feb 13, 2014 at 4:01 AM, lhmwzy <[email protected]> wrote: >>> >>>> >>>> LuaJIT-2.1-20140109 >>>> >>>> use GNU make to make >>>> >>>> the error info: >>>> lj_mcode.c:123:2: error: #error "Missing OS support for explicit >>>> placement of executable memory" >>>> lj_mcode.c: In function 'mcode_protect': >>>> lj_mcode.c:197:5: warning: implicit declaration of function >>>> 'mcode_setprot' [-Wimplicit-function-declaration] >>>> lj_mcode.c: In function 'mcode_alloc': >>>> lj_mcode.c:235:7: warning: implicit declaration of function >>>> 'mcode_alloc_at' [-Wimplicit-function-declaration] >>>> lj_mcode.c:235:45: error: 'MCPROT_RW' undeclared (first use in this >>>> function) >>>> lj_mcode.c:235:45: note: each undeclared identifier is reported only >>>> once for each function it appears in >>>> lj_mcode.c:240:7: warning: implicit declaration of function >>>> 'mcode_free' [-Wimplicit-function-declaration] >>>> lj_mcode.c: In function 'mcode_allocarea': >>>> lj_mcode.c:275:15: error: 'MCPROT_RW' undeclared (first use in this >>>> function) >>>> lj_mcode.c: In function 'lj_mcode_reserve': >>>> lj_mcode.c:304:22: error: 'MCPROT_RW' undeclared (first use in this >>>> function) >>>> lj_mcode.c: In function 'lj_mcode_commit': >>>> lj_mcode.c:313:20: error: 'MCPROT_RX' undeclared (first use in this >>>> function) >>>> lj_mcode.c: In function 'lj_mcode_abort': >>>> lj_mcode.c:320:22: error: 'MCPROT_RX' undeclared (first use in this >>>> function) >>>> lj_mcode.c: In function 'lj_mcode_patch': >>>> lj_mcode.c:332:24: error: 'MCPROT_RX' undeclared (first use in this >>>> function) >>>> lj_mcode.c:340:24: error: 'MCPROT_RW' undeclared (first use in this >>>> function) >>>> Makefile:642: recipe for target 'lj_mcode.o' failed >>>> >>>> try LuaJIT-2.0.2 >>>> the error info : >>>> lj_mcode.c:122:2: error: #error "Missing OS support for explicit >>>> placement of executable memory" >>>> lj_mcode.c: In function 'mcode_protect': >>>> lj_mcode.c:187:5: warning: implicit declaration of function >>>> 'mcode_setprot' [-Wimplicit-function-declaration] >>>> lj_mcode.c: In function 'mcode_alloc': >>>> lj_mcode.c:224:7: warning: implicit declaration of function >>>> 'mcode_alloc_at' [-Wimplicit-function-declaration] >>>> lj_mcode.c:224:45: error: 'MCPROT_RW' undeclared (first use in this >>>> function) >>>> lj_mcode.c:224:45: note: each undeclared identifier is reported only >>>> once for each function it appears in >>>> lj_mcode.c:229:7: warning: implicit declaration of function >>>> 'mcode_free' [-Wimplicit-function-declaration] >>>> lj_mcode.c: In function 'mcode_allocarea': >>>> lj_mcode.c:264:15: error: 'MCPROT_RW' undeclared (first use in this >>>> function) >>>> lj_mcode.c: In function 'lj_mcode_reserve': >>>> lj_mcode.c:293:22: error: 'MCPROT_RW' undeclared (first use in this >>>> function) >>>> lj_mcode.c: In function 'lj_mcode_commit': >>>> lj_mcode.c:302:20: error: 'MCPROT_RX' undeclared (first use in this >>>> function) >>>> lj_mcode.c: In function 'lj_mcode_abort': >>>> lj_mcode.c:308:20: error: 'MCPROT_RX' undeclared (first use in this >>>> function) >>>> lj_mcode.c: In function 'lj_mcode_patch': >>>> lj_mcode.c:320:24: error: 'MCPROT_RX' undeclared (first use in this >>>> function) >>>> lj_mcode.c:328:24: error: 'MCPROT_RW' undeclared (first use in this >>>> function) >>>> >>>> My os: >>>> uname -a: >>>> DragonFly . 3.6-RELEASE DragonFly v3.6.0.24.gf2d5f-RELEASE #4: Tue Feb >>>> 11 14:22:27 UTC 2014 lhm@.:/usr/obj/usr/src/sys/ >>>> lhmwzy x86_64 >>>> >>>> Any suggestion? >>>> >>> >>> >> >> >
