vmlinux-sun3.lds (was: Re: Kernel 2.6 for m68k/amiga)
On Thu, 19 Aug 2004, Roman Zippel wrote:
> On Wed, 18 Aug 2004, Finn Thain wrote:
> > I'm afraid it doesn't boot for me. Penguin hangs after logging "killing
> > sonic ethernet", and before logging "booting linux, fasten seatbelts
> > please".
>
> The patch below should work better. The second program header has to start
> after the bss.
>
> bye, Roman
>
> Index: arch/m68k/kernel/vmlinux-std.lds
> ===================================================================
> RCS file: /home/linux-m68k/cvsroot/linux/arch/m68k/kernel/vmlinux-std.lds,v
> retrieving revision 1.3
> diff -u -p -r1.3 vmlinux-std.lds
> --- arch/m68k/kernel/vmlinux-std.lds 10 May 2004 18:39:29 -0000 1.3
> +++ arch/m68k/kernel/vmlinux-std.lds 19 Aug 2004 00:31:26 -0000
> @@ -15,7 +15,7 @@ SECTIONS
> SCHED_TEXT
> *(.fixup)
> *(.gnu.warning)
> - } = 0x4e75
> + } :text = 0x4e75
>
> . = ALIGN(16); /* Exception table */
> __start___ex_table = .;
> @@ -34,7 +34,7 @@ SECTIONS
> .bss : { *(.bss) } /* BSS */
>
> . = ALIGN(16);
> - .data.cacheline_aligned : { *(.data.cacheline_aligned) }
> + .data.cacheline_aligned : { *(.data.cacheline_aligned) } :data
>
> _edata = .; /* End of data section */
Sun-3 is still broken since vmlinux-sun3.lds wasn't updated. Does the patch
below look OK? vmlinux-sun3.lds doesn't have a section for
`.data.cacheline_aligned', so I added `:data' to `.data' to avoid the linker
complaining about:
BFD: vmlinux.tmp: warning: Empty loadable segment detected
Obviously this patch wasn't tested on a real Sun-3.
--- linux-m68k-2.6.x/arch/m68k/kernel/vmlinux-sun3.lds.orig 2004-05-24 11:13:22.000000000 +0200
+++ linux-m68k-2.6.x/arch/m68k/kernel/vmlinux-sun3.lds 2004-11-10 21:10:31.000000000 +0100
@@ -16,7 +16,7 @@ SECTIONS
SCHED_TEXT
*(.fixup)
*(.gnu.warning)
- } = 0x4e75
+ } :text = 0x4e75
RODATA
_etext = .; /* End of text section */
@@ -28,7 +28,7 @@ SECTIONS
__start___ex_table = .;
*(__ex_table)
__stop___ex_table = .;
- }
+ } :data
/* End of data goes *here* so that freeing init code works properly. */
_edata = .;
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Reply to: