I hate following up to my own messages. I sent the previous note after I couldn't get anything useful out of winedbg. Then I had the idea of just running Wine under gdb, and I got the following:
Program received signal SIGSEGV, Segmentation fault. 0x402f1b93 in strchr () from /lib/i686/libc.so.6 (gdb) bt #0 0x402f1b93 in strchr () from /lib/i686/libc.so.6 #1 0x405f6c78 in ?? () #2 0x409a459e in PRINTCAP_LoadPrinters () at info.c:265 #3 0x409a46c9 in WINSPOOL_LoadSystemPrinters () at info.c:298 #4 0x409aac08 in WINSPOOL_EntryPoint (hInstance=1083838464, reason=1, lpReserved=0x1) at wspool.c:30 #5 0x40082ea7 in PE_InitDLL (module=1083838464, type=1, lpReserved=0x1) at pe_image.c:737 #6 0x4007eb75 in MODULE_InitDLL (wm=0x403a1aa0, type=1, lpReserved=0x1) at module.c:115 #7 0x4007ec92 in MODULE_DllProcessAttach (wm=0x403a1aa0, lpReserved=0x1) at module.c:182 #8 0x4007ec6c in MODULE_DllProcessAttach (wm=0x403a1598, lpReserved=0x1) at module.c:177 #9 0x4007ec6c in MODULE_DllProcessAttach (wm=0x0, lpReserved=0x1) at module.c:177 #10 0x400c83b1 in start_process () at process.c:372 #11 0x400cbeb5 in SYSDEPS_DoCallOnStack ( func=0x400c8270 <start_process>, arg=0x0) at sysdeps.c:173 #12 0x400cbf5f in SYSDEPS_CallOnStack () at sysdeps.c:183 #13 0x400cc002 in SYSDEPS_SwitchToThreadStack ( func=0x400c8270 <start_process>) at sysdeps.c:236 #14 0x400c87fb in PROCESS_InitWine (argc=2, argv=0xbffff8dc, win16_exe_name=0x804d620 "", win16_exe_file=0x804d724) at process.c:525 #15 0x0804c187 in main () at main.c:84 #16 0x40289177 in __libc_start_main (main=0x804c16c <main>, argc=2, ubp_av=0xbffff8dc, init=0x80486f8 <_init>, fini=0x804c1d0 <_fini>, rtld_fini=0x4000e184 <_dl_fini>, stack_end=0xbffff8cc) at ../sysdeps/generic/libc-start.c:129
I'm rebuilding now, with Marcus' LPR printing patch backed out.