NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
re: port-i386/46884: Compaq Armada E500 not booting 6.0 RC1
OK, so these show that:
config_cfdriver_lookup+0x1e
config_cfattach_lookup
config_match
config_search_loc
config_found_sm_loc
config_found
audio_attach_mi
esm_attach
is the stack trace. and this is the code and asm:
struct cfdriver *
config_cfdriver_lookup(const char *name)
{
struct cfdriver *cd;
LIST_FOREACH(cd, &allcfdrivers, cd_list) {
if (STREQ(cd->cd_name, name))
return cd;
}
return NULL;
}
Dump of assembler code for function config_cfdriver_lookup:
0xc077fbf5 <+0>: push %ebp
0xc077fbf6 <+1>: mov %esp,%ebp
0xc077fbf8 <+3>: push %edi
0xc077fbf9 <+4>: push %esi
0xc077fbfa <+5>: push %ebx
0xc077fbfb <+6>: sub $0x1c,%esp
0xc077fbfe <+9>: mov 0x8(%ebp),%edi
0xc077fc01 <+12>: mov 0xc0c3ecd0,%ebx
0xc077fc07 <+18>: test %ebx,%ebx
0xc077fc09 <+20>: je 0xc077fc2d <config_cfdriver_lookup+56>
0xc077fc0b <+22>: movzbl (%edi),%esi
0xc077fc0e <+25>: mov 0x10(%ebx),%eax
0xc077fc11 <+28>: mov %esi,%edx
>> 0xc077fc13 <+30>: cmp %dl,(%eax)
0xc077fc15 <+32>: jne 0xc077fc27 <config_cfdriver_lookup+50>
0xc077fc17 <+34>: mov %edi,0x4(%esp)
0xc077fc1b <+38>: mov %eax,(%esp)
0xc077fc1e <+41>: call 0xc0906af0 <strcmp>
0xc077fc23 <+46>: test %eax,%eax
0xc077fc25 <+48>: je 0xc077fc2d <config_cfdriver_lookup+56>
0xc077fc27 <+50>: mov (%ebx),%ebx
0xc077fc29 <+52>: test %ebx,%ebx
0xc077fc2b <+54>: jne 0xc077fc0e <config_cfdriver_lookup+25>
0xc077fc2d <+56>: mov %ebx,%eax
0xc077fc2f <+58>: add $0x1c,%esp
0xc077fc32 <+61>: pop %ebx
0xc077fc33 <+62>: pop %esi
0xc077fc34 <+63>: pop %edi
0xc077fc35 <+64>: pop %ebp
0xc077fc36 <+65>: ret
>> marks the faulting instruction. so something is wrong with
the allcfdrivers list here, i think. robo, can you run these
command from the db> prompt:
db> p $eax
db> x 0xc0bc2bfd
the STREQ() macro checks that the first char matches first, before
calling strcmp() directly (side comment: this seems like a strange
optimisation for autoconf code.)
i'm not sure what is happening here, but the allcfdrivers list
appears broken some how. or perhaps a cfdriver entry. i don't
know autoconf code very well.
.mrg.
Home |
Main Index |
Thread Index |
Old Index