On Fri, May 24, 2002 at 02:50:00PM -0400, Roland McGrath wrote: > Probably the bug is in libc having to do with the /dev/fd* lookups. > Try a test program that calls stat or lstat on all those bogus /dev/fd* > names that appear in the make -d output.
Good instinct. After spending a bit of time in the make sources, I found the code related to the segfault, which is file_exists_p(char *name), which splits up name into a dirname and a basename component, and tries to get the directory listing of dirname to check if basename exists in there. Funny, that this pointed me to another testcase: $ ls /dev/fd Segmentation fault $ ls /dev/fd/. Segmentation fault Haha. This could have been easier ;) Roland, is this enough info already to guess what is going on, or should I dig deeper into what happens in case /dev/fd/ is accessed as a directory and its listing is desired? I guess I can get lots of more info by following what happens in a normal ls in the client and in the magic translator. BTW, the segfault does happen after the code that searches for files in /dev/fd run, so there is some random corruption going on. Curiously, when I ran the original make command within gdb, it run successfully. Thanks, Marcus -- `Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED] Marcus Brinkmann GNU http://www.gnu.org [EMAIL PROTECTED] [EMAIL PROTECTED] http://www.marcus-brinkmann.de _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd