justincormack/ljsyscall

no readahead with uClibc

Closed this issue · 4 comments

I use ljsyscall on an embedded linux built with Buildroot.
It works well when I use an ARM Linaro toolchain.
But when I build my toolchain with Buildroot : gcc 4.7.3 & uClibc 0.9.33.2,
ljsyscall fails at load time because uClibc has not readahead C function.

see output with v0.9

# uname -a
Linux buildroot 3.10.7 #1 Mon Apr 21 17:25:33 CEST 2014 armv5tejl GNU/Linux
# luajit
LuaJIT 2.0.3 -- Copyright (C) 2005-2014 Mike Pall. http://luajit.org/
JIT: ON fold cse dce fwd dse narrow loop abc sink fuse
> s = require 'syscall'
/usr/share/lua/5.1/syscall/linux/c.lua:519: Unable to resolve symbol
stack traceback:
    [C]: in function '__index'
    /usr/share/lua/5.1/syscall/linux/c.lua:519: in main chunk
    [C]: in function 'require'
    /usr/share/lua/5.1/syscall.lua:39: in main chunk
    [C]: in function 'require'
    stdin:1: in main chunk
    [C]: at 0x00009ac0
> 

This is fixed in git head, but not in the 0.9 release that is in buildroot. I should make a 0.10 release and update buildroot in the next few days as there are quite a few relevant fixes (eg MIPS fixes) as well as the fixes for uClibc. If you could test git head on your platforms that would be really helpful.

Work fine with e1261b5
Thanks.

Thanks, will do a new release shortly.

Ok with release v0.10