Parrot Assembler via RT writes: > make testj hangs on string_102.pasm. Here's the gdb backtrace.
It looks like a really subtle, nasty problem. If I add a noop anywhere in the top section of code (before MAIN) it works. It works even if I change the filename from string_102.pasm to test.pasm! It works if I add a non-jit op (like print or find_type) right after MAIN. Luke > > % gdb parrot > GNU gdb Red Hat Linux (6.0post-0.20040223.19rh) > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db > library "/lib/tls/libthread_db.so.1". > > > (gdb) run -j t/op/string_102.pasm > Starting program: /home/fibonaci/devel/parrot/parrot -j t/op/string_102.pasm > Error while mapping shared library sections: > : Success. > Error while reading shared library symbols: > : No such file or directory. > [Thread debugging using libthread_db enabled] > [New Thread -150292160 (LWP 10828)] > Error while reading shared library symbols: > : No such file or directory. > Error while reading shared library symbols: > : No such file or directory. > [New Thread -159155280 (LWP 10831)] > [New Thread -169645136 (LWP 10832)] > > > Program received signal SIGINT, Interrupt. > [Switching to Thread -150292160 (LWP 10828)] > 0x00880d34 in _int_malloc () from /lib/tls/libc.so.6 > (gdb) bt > #0 0x00880d34 in _int_malloc () from /lib/tls/libc.so.6 > #1 0x00881bbd in _int_memalign () from /lib/tls/libc.so.6 > #2 0x00880467 in memalign () from /lib/tls/libc.so.6 > #3 0x008826a6 in posix_memalign () from /lib/tls/libc.so.6 > #4 0x080ab600 in mem_realloc_executable (old=0x9f13000, newsize=4720) at > memexec.c:47 > #5 0x080ad3d2 in build_asm (interpreter=0x9d21008, pc=0x9f1b1c0, > code_start=0x9f1b1c0, code_end=0x9f1b56c, objfile=0x0) > at src/jit.c:1402 > #6 0x08160068 in init_jit (interpreter=0x9d21008, pc=0x9f1b1c0) at > src/interpreter.c:461 > #7 0x08160124 in runops_jit (interpreter=0x9d21008, pc=0x9f1b1c0) at > src/interpreter.c:528 > #8 0x08160495 in runops_int (interpreter=0x9d21008, offset=0) at > src/interpreter.c:744 > #9 0x081612d2 in runops (interpreter=0x9d21008, offs=0) at src/inter_run.c:81 > #10 0x080d6308 in Parrot_runcode (interpreter=0x9d21008, argc=1, > argv=0xfef6856c) at src/embed.c:762 > #11 0x080d614f in Parrot_runcode (interpreter=0x9d21008, argc=1, > argv=0xfef6856c) at src/embed.c:694 > #12 0x0809b4fb in main (argc=1, argv=0xfef6856c) at imcc/main.c:581 > > % uname -a > Linux jabberwock 2.6.5-1.358custom #2 Mon Aug 16 05:15:44 MDT 2004 i686 > athlon i386 GNU/Linux > > % cat myconfig > Summary of my parrot 0.1.1 configuration: > configdate='Mon Nov 29 03:39:43 2004' > Platform: > osname=linux, archname=i386-linux-thread-multi > jitcapable=1, jitarchname=i386-linux, > jitosname=LINUX, jitcpuarch=i386 > execcapable=1 > perl=/usr/bin/perl > Compiler: > cc='gcc', ccflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS > -DDEBUGGING -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > -I/usr/include/gdbm', > Linker and Libraries: > ld='gcc', ldflags=' -L/usr/local/lib', > cc_ldflags='', > libs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp' > Dynamic Linking: > share_ext='.so', ld_share_flags='-shared -L/usr/local/lib -fPIC', > load_ext='.so', ld_load_flags='-shared -L/usr/local/lib -fPIC' > Types: > iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4, > ptrsize=4, ptr_alignment=1 byteorder=1234, > nv=double, numvalsize=8, doublesize=8 >