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



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.

christos



Home | Main Index | Thread Index | Old Index