Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: i386 ddb trace stopped working with gcc48
On 21 Apr 2014, at 19:34, Christos Zoulas <christos%astron.com@localhost> wrote:
> In article <910F0BED-9FD7-4C06-B886-E91002D034C3%eis.cs.tu-bs.de@localhost>,
> J. Hannken-Illjes <hannken%eis.cs.tu-bs.de@localhost> wrote:
>> On 21 Apr 2014, at 14:39, J. Hannken-Illjes
>> <hannken%eis.cs.tu-bs.de@localhost> wrote:
>>
>>> Since i386 switched to gcc48 ddb trace no longer works:
>>>
>>> fatal breakpoint trap in supervisor mode
>>> trap type 1 code 0 eip c02802f4 cs 8 eflags 202 cr2 bbbab0c4 ilevel 8 esp
>>> 800
>>> curlwp 0xc5a9fd20 pid 0 lid 2 lowest kstack 0xdd3b22c0
>>> Stopped in pid 0.2 (system) at netbsd:breakpoint+0x4: popl %ebp
>>> db{0}> bt
>>>
>> breakpoint(c0e661c0,3f8,0,0,c61c5158,c170dacc,c6188000,c5f396c0,c5f39748,dd3b4edc)
>> at netbsd:breakpoint+0x4
>>>
>>> Thats all, never get more than one line.
>>> The i386_frame from %ebp = dd25ef30 looks like:
>>>
>>> dd25ef30: 7ff <= should be the previous frame
>>> dd25ef34: c0277cc1 <= comintr+0x53e (caller of breakpoint)
>>> dd25ef38: c0e661c0
>>>
>>> Ideas anyone?
>>
>> Some further notes:
>>
>> - The function prologue has changed as
>>
>> -push %ebp
>> -mov %esp,%ebp
>> sub $0x14,%esp
>>
>> call ...
>> -leave
>> +add $0x14,%esp
>> ret
>>
>> - With -fno-omit-frame-pointer all is well.
>
> Perhaps the default changes to -fomit-frame-pointer... We should consider
> changing it back like we did for amd64.
Do we really want to add
makeoptions "COPTS="... -fno-omit-frame-pointer"
to all i386 kernel configs like amd64 does or should it better
go to sys/arch/i386/conf/Makefile.i386?
--
J. Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig
(Germany)
Home |
Main Index |
Thread Index |
Old Index