Port-atari archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bootloader issue
David Ross wrote:
> I thought it would be a bug in the first stage because I don't even see the
> banner from the second stage. But I guess it must be something that's
> happening in the second stage before the banner gets printed.
Okay, now I've managed to get the problem.
The aggressive gcc4 strikes us again.
/usr/mdec/bootxx binary should have bootxx() function at the top
as an entry point (because the xxboot jumps to the fixed address)
and it is the first function in atari/stand/bootxx/bootxx.c.
1.6.x bootxx looks like:
---
bootxx: file format elf32-m68k
Disassembly of section .text:
00020000 <bootxx>:
20000: 48e7 3c30 moveml %d2-%d5/%a2-%a3,%sp@-
20004: 2a2f 001c movel %sp@(28),%d5
20008: 282f 0020 movel %sp@(32),%d4
2000c: 262f 0024 movel %sp@(36),%d3
:
---
But 4.0 bootxx (maybe same with HEAD) shows:
---
bootxx: file format elf32-m68k
Disassembly of section .text:
00020000 <_rtt>:
20000: 4879 0002 1780 pea 21780 <putchar+0x28>
20006: 61ff 0000 1538 bsrl 21540 <printf>
2000c: 588f addql #4,%sp
2000e: 60fe bras 2000e <_rtt+0xe>
20010: 4e71 nop
00020012 <load_booter>:
20012: 2f03 movel %d3,%sp@-
:
0002030a <bootxx>:
2030a: 48e7 3800 moveml %d2-%d4,%sp@-
:
---
As you can see in sys/arch/atari/stand/bootxx/bootxx.c,
_rtt() function just prints "Halting...", that's what you saw!
The tertiary boot.atari also has the same problem.
I'll check how we can make gcc put bootxx() at the top of the binary.
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index