Currently, ext2fs.static fails as follows: (gdb) rr ext2fs.static: ../../src/libdiskfs/init-main.c:40: diskfs_init_main: Unexpected error: Invalid argument.
Program received signal SIGABRT, Aborted. 0x080b3a0c in mach_msg_trap () at lock-intern.h:77 77 lock-intern.h: No such file or directory. in lock-intern.h (gdb) bt full #0 0x080b3a0c in mach_msg_trap () at lock-intern.h:77 No locals. #1 0x08080e17 in __mach_msg (msg=0x101f7c4, option=3, send_size=48, rcv_size=32, rcv_name=108, timeout=0, notify=0) at msg.c:110 ret = Variable "ret" is not available. (gdb) bt #0 0x080b3a0c in mach_msg_trap () at lock-intern.h:77 #1 0x08080e17 in __mach_msg (msg=0x101f7c4, option=3, send_size=48, rcv_size=32, rcv_name=108, timeout=0, notify=0) at msg.c:110 #2 0x080fd6da in __msg_sig_post (process=0, signal=0, sigcode=0, refport=0) at /home/ams/glibc/obj--with-binutils-2.15--gcc-4.0.1/hurd/RPC_msg_sig_post.c:144 #3 0x080c6701 in kill_pid.6530 () at hashval.h:43 #4 0x080c6880 in __kill (pid=2412, sig=0) at ../sysdeps/mach/hurd/kill.c:139 #5 0x080c6022 in raise (sig=6) at ../sysdeps/posix/raise.c:27 #6 0x08090b63 in abort () at ../sysdeps/generic/abort.c:88 #7 0x0808c059 in __assert_perror_fail (errnum=1073741846, file=0x810f594 "../../src/libdiskfs/init-main.c", line=40, function=0x812e5d4 "diskfs_init_main") at assert-perr.c:78 #8 0x0805564f in diskfs_init_main (startup_argp=Variable "startup_argp" is not available. ) at ../../src/libdiskfs/init-main.c:40 #9 0x0804b829 in main (argc=1, argv=0x101fe04) at ../../src/ext2fs/ext2fs.c:172 To be precies, it fails in libstore/argp.c:find_class() since __start_store_std_classes and __stop_store_std_classes simply don't exist (i.e. they don't point to anything valid): (gdb) b find_class Reading in symbols for ../../src/libstore/argp.c...done. Breakpoint 1 at 0x807041e: file ../../src/libstore/argp.c, line 240. (gdb) rr Breakpoint 1, find_class (name=0x81115ff "query", classes=0x0) at ../../src/libstore/argp.c:240 240 for (cl = classes ?: __start_store_std_classes; (gdb) p __start_store_std_classes Address of symbol "__start_store_std_classes" is unknown. (gdb) p __stop_store_std_classes Address of symbol "__stop_store_std_classes" is unknown. So we end up doing the following which is simply wrong: (gdb) n 241 classes ? *cl != 0 : cl < __stop_store_std_classes; (gdb) 247 if (! classes && store_module_find_class) (gdb) 251 return cl; (gdb) 255 } And from here, everything goes bonkers. What should happen in in find_class() if everything is wroking as it should is: (gdb) b find_class Breakpoint 1 at 0x8072fb2: file /build/mbanck/hurd-20050513/build-tree/hurd/libstore/argp.c, line 240. (gdb) dir /home/ams/hurd/src/libstore Source directories searched: /home/ams/hurd/src/libstore:$cdir:$cwd (gdb) rr warning: shared library handler failed to enable breakpoint Breakpoint 1, find_class (name=0x810df75 "query", classes=0x0) at /build/mbanck/hurd-20050513/build-tree/hurd/libstore/argp.c:240 warning: Source file is more recent than executable. 240 for (cl = classes ?: __start_store_std_classes; (gdb) p __start_store_std_classes $1 = 0x8128bc4 (gdb) p __stop_store_std_classes $2 = 0x8128bf4 (gdb) n 0x08073043 240 for (cl = classes ?: __start_store_std_classes; (gdb) 243 if ((*cl)->name && strcmp (name, (*cl)->name) == 0) (gdb) 244 return *cl; (gdb) 255 } And we return something sane in CL. Pointers to a soultion are welcome. Phew... _______________________________________________ Bug-hurd mailing list Bug-hurd@gnu.org http://lists.gnu.org/mailman/listinfo/bug-hurd