Re: Can't boot new kernel
Rin Okuyama <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.macppc |
|---|---|
| Message-ID | <[email protected]> |
On 2020/10/16 4:01, Martin Husemann wrote: > On Thu, Oct 15, 2020 at 07:48:47PM +0200, Martin Husemann wrote: >> I can not boot a new kernel: > [..] >> Dies like this: >> >> loading XCOFF >> >> tsize=f160 dsize=260 bsize=2750 entry=e00000 >> SECTIONS: >> .text 00e00000 00e00000 0000f160 00000130 >> .data 00e10000 00e10000 00000260 0000f290 >> .bss 00e10260 00e10260 00002750 00000000 >> .gnu.att 00000000 00000000 00000014 0000f4f0 >> .ident 00000000 00000000 00000076 0000f504 >> loading .text, done.. >> loading .data, done.. >> clearing .bss, done.. >> >>>> NetBSD/macppc OpenFirmware Boot, Revision 1.12 >> 12932396+167480 [467712+464269/ >> DEFAULT CATCH!, code=900 at %SRR0: 00000000 %SRR1: 00083030 >> ok > > Seems to be gcc 9 fallout. Rin, anything special needed? You probably tested > GENERIC only, this kernel has options DIAGNOSTIC. Oh, yes, I'd forgotten it. GENERIC boots, but GENERIC+DIAGNOSTIC does not. This seems due to kernel size growth in GCC9; GCC9 adds more unwind tables than GCC8. You can remove the most (all?) of them by adding -fno-asynchronous-unwind-tables and -fno-unwind-tables options. Then, DIAGNOSTIC kernel boots again. Alternatively, by removing unnecessary features/drivers from config file, DIAGNOSTIC kernel also boots. Therefore, I consider this is just a problem of kernel size. GENERIC+DIAGNOSTIC kernel exceeds some ``soft limit''. I haven't figured out what is this limit exactly, but it is smaller than ``hard limit'' reported in PR port-macppc/54916. Thanks, rin