On 21 Apr 2014, at 19:34, Christos Zoulas <[email protected]> wrote:
> In article <[email protected]>, > J. Hannken-Illjes <[email protected]> wrote: >> On 21 Apr 2014, at 14:39, J. Hannken-Illjes <[email protected]> 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 - [email protected] - TU Braunschweig (Germany)
