I think I found porting bug. In function ILReadDir: there is only memory allocation for dentry, but no allocation for dentry->d_name, which is on linux 256 bytes long, but it is not garanteed by POSIX, on minix it is 1 byte long. This was the reason of segfault
2013/2/12 Alexander Samilovskih <[email protected]>: > stack trace of csant, something wrong with walking directories > > +0x7fb98bf > ILReadDir+0x15 > CSAntDirNext+0x32 > ProcessDirStack+0x9a6 > CSAntFileSetLoad+0xc9 > CSAntTask_ResGen+0x70 > BuildTarget+0x19a > CSAntBuild+0x250 > main+0x503 > ___start+0xe2 > _start+0x17 > > 2013/2/10 Alexander Samilovskih <[email protected]>: >> switched compiler to gcc >> >> gmake[2]: Entering directory `/home/new/pnet/engine' >> gcc -DHAVE_CONFIG_H -I. -I../include -I../libffi/include -fno-gcse >> -fno-inline-functions -fno-unit-at-a-time -I../support -I../libgc/incl >> ude -I../libgc/libatomic_ops/src -I../include -I../libffi/include -I. >> -DBUILD_PROFILE_NAME="\"full\"" -g -O2 -Wall -c cctormgr.c >> /usr/pkg/bin/bash ./mklabel.sh "awk" ./cvm.h >cvm_labels.h >> gcc -DHAVE_CONFIG_H -I. -I../include -I../libffi/include -fno-gcse >> -fno-inline-functions -fno-unit-at-a-time -I../support -I../libgc/incl >> ude -I../libgc/libatomic_ops/src -I../include -I../libffi/include -I. >> -DBUILD_PROFILE_NAME="\"full\"" -g -O2 -Wall -c cvm.c >> In file included from cvm.c:834: >> cvm_call.c: In function '_ILCVMInterpreter': >> cvm_call.c:2127: warning: pointer targets in passing argument 1 of >> 'ILInterlockedIncrement' differ in signedness >> ../support/interlocked_x86.h:53: note: expected 'ILInt32 *' but >> argument is of type 'ILUInt32 *' >> cvm.c:597: warning: optimization may eliminate reads and/or writes to >> register variables >> cvm.c:597: warning: optimization may eliminate reads and/or writes to >> register variables >> cvm.c:597: warning: optimization may eliminate reads and/or writes to >> register variables >> cvm.c:985: error: unable to find a register to spill in class 'SIREG' >> cvm.c:985: error: this is the insn: >> (insn 418 413 419 27 cvm.c:74 (parallel [ >> (set (reg:SI 2 cx [7087]) >> (const_int 0 [0x0])) >> (set (reg/f:SI 1 dx [orig:7085 stacktop.275 ] [7085]) >> (plus:SI (reg/f:SI 6864 [ stacktop.275 ]) >> (reg:SI 7079))) >> (set (reg:SI 0 ax [7086]) >> (plus:SI (reg:SI 0 ax [7083]) >> (reg:SI 7079))) >> (set (mem/s:BLK (reg/f:SI 6864 [ stacktop.275 ]) [0 A32]) >> (mem:BLK (reg:SI 0 ax [7083]) [0 A8])) >> (use (reg:SI 7079)) >> ]) 637 {*rep_movqi} (expr_list:REG_DEAD (reg:SI 0 ax [7083]) >> (expr_list:REG_DEAD (reg:SI 7079) >> (expr_list:REG_DEAD (reg/f:SI 6864 [ stacktop.275 ]) >> (expr_list:REG_UNUSED (reg:SI 2 cx [7087]) >> (expr_list:REG_UNUSED (reg:SI 0 ax [7086]) >> (expr_list:REG_UNUSED (reg/f:SI 1 dx >> [orig:7085 stacktop.275 ] [7085]) >> (nil)))))))) >> cvm.c:985: confused by earlier errors, bailing out >> gmake[2]: *** [cvm.o] Error 1 _______________________________________________ Dotgnu-general mailing list [email protected] https://lists.gnu.org/mailman/listinfo/dotgnu-general
