[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: