From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Tim Abbott <tabbott@ksplice.com>
Cc: Roman Zippel <zippel@linux-m68k.org>,
linux-m68k@vger.kernel.org, linux-kernel@vger.kernel.org,
Sam Ravnborg <sam@ravnborg.org>
Subject: Re: [PATCH v2 2/2] m68k: Cleanup linker scripts using new linker script macros.
Date: Sun, 27 Sep 2009 11:58:06 +0200 [thread overview]
Message-ID: <10f740e80909270258o6bde0f3dk720bd5b5c091ed2f@mail.gmail.com> (raw)
In-Reply-To: <1253119466-19488-3-git-send-email-tabbott@ksplice.com>
On Wed, Sep 16, 2009 at 18:44, Tim Abbott <tabbott@ksplice.com> wrote:
> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: Roman Zippel <zippel@linux-m68k.org>
> Cc: linux-m68k@lists.linux-m68k.org
> Cc: Sam Ravnborg <sam@ravnborg.org>
This patch must do something wrong, as it now fails to boot on ARAnyM:
| CPU: Double bus fault detected !
| CPU: Halting
Haven't investigated why yet, though...
> ---
> arch/m68k/kernel/vmlinux-std.lds | 53 +++++++-----------------------------
> arch/m68k/kernel/vmlinux-sun3.lds | 53 +++++++------------------------------
> 2 files changed, 21 insertions(+), 85 deletions(-)
>
> diff --git a/arch/m68k/kernel/vmlinux-std.lds b/arch/m68k/kernel/vmlinux-std.lds
> index 47eac19..5927487 100644
> --- a/arch/m68k/kernel/vmlinux-std.lds
> +++ b/arch/m68k/kernel/vmlinux-std.lds
> @@ -2,6 +2,7 @@
>
> #include <asm-generic/vmlinux.lds.h>
> #include <asm/page.h>
> +#include <asm/thread_info.h>
>
> OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
> OUTPUT_ARCH(m68k)
> @@ -22,73 +23,41 @@ SECTIONS
>
> _etext = .; /* End of text section */
>
> - . = ALIGN(16); /* Exception table */
> - __start___ex_table = .;
> - __ex_table : { *(__ex_table) }
> - __stop___ex_table = .;
> + EXCEPTION_TABLE(16)
>
> RODATA
>
> - .data : { /* Data */
> - DATA_DATA
> - CONSTRUCTORS
> - }
> + RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE)
>
> - . = ALIGN(16);
> - .data.cacheline_aligned : { *(.data.cacheline_aligned) }
> -
> - .bss : { *(.bss) } /* BSS */
> + BSS_SECTION(0, 0, 0)
>
> _edata = .; /* End of data section */
>
> /* will be freed after init */
> . = ALIGN(PAGE_SIZE); /* Init code and data */
> __init_begin = .;
> - .init.text : {
> - _sinittext = .;
> - INIT_TEXT
> - _einittext = .;
> - } :data
> + INIT_TEXT_SECTION(PAGE_SIZE) :data
> + INIT_DATA_SECTION(16)
> .init.data : { INIT_DATA }
> - . = ALIGN(16);
> - __setup_start = .;
> - .init.setup : { *(.init.setup) }
> - __setup_end = .;
> - __initcall_start = .;
> + .init.setup : { INIT_SETUP(16) }
> .initcall.init : {
> - INITCALLS
> + INIT_CALLS
> }
> - __initcall_end = .;
> - __con_initcall_start = .;
> - .con_initcall.init : { *(.con_initcall.init) }
> - __con_initcall_end = .;
> + .con_initcall.init : { CON_INITCALL }
> .m68k_fixup : {
> __start_fixup = .;
> *(.m68k_fixup)
> __stop_fixup = .;
> }
> SECURITY_INIT
> -#ifdef CONFIG_BLK_DEV_INITRD
> - . = ALIGN(8192);
> - __initramfs_start = .;
> - .init.ramfs : { *(.init.ramfs) }
> - __initramfs_end = .;
> -#endif
> + .init.ramfs : { INIT_RAM_FS }
> NOTES
> . = ALIGN(8192);
> __init_end = .;
>
> - .data.init_task : { *(.data.init_task) } /* The initial task and kernel stack */
> -
> _end = . ;
>
> - /* Stabs debugging sections. */
> - .stab 0 : { *(.stab) }
> - .stabstr 0 : { *(.stabstr) }
> - .stab.excl 0 : { *(.stab.excl) }
> - .stab.exclstr 0 : { *(.stab.exclstr) }
> - .stab.index 0 : { *(.stab.index) }
> - .stab.indexstr 0 : { *(.stab.indexstr) }
> + STABS_DEBUG
> .comment 0 : { *(.comment) }
>
> /* Sections to be discarded */
> diff --git a/arch/m68k/kernel/vmlinux-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds
> index 03efaf0..607d214 100644
> --- a/arch/m68k/kernel/vmlinux-sun3.lds
> +++ b/arch/m68k/kernel/vmlinux-sun3.lds
> @@ -2,6 +2,7 @@
>
> #include <asm-generic/vmlinux.lds.h>
> #include <asm/page.h>
> +#include <asm/thread_info.h>
>
> OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
> OUTPUT_ARCH(m68k)
> @@ -23,14 +24,8 @@ SECTIONS
>
> _etext = .; /* End of text section */
>
> - .data : { /* Data */
> - DATA_DATA
> - CONSTRUCTORS
> - . = ALIGN(16); /* Exception table */
> - __start___ex_table = .;
> - *(__ex_table)
> - __stop___ex_table = .;
> - } :data
> + EXCEPTION_TABLE(16)
> + RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE) :data
> /* End of data goes *here* so that freeing init code works properly. */
> _edata = .;
> NOTES
> @@ -38,56 +33,28 @@ SECTIONS
> /* will be freed after init */
> . = ALIGN(PAGE_SIZE); /* Init code and data */
> __init_begin = .;
> - .init.text : {
> - _sinittext = .;
> - INIT_TEXT
> - _einittext = .;
> - }
> + INIT_TEXT_SECTION(PAGE_SIZE)
> .init.data : { INIT_DATA }
> - . = ALIGN(16);
> - __setup_start = .;
> - .init.setup : { *(.init.setup) }
> - __setup_end = .;
> - __initcall_start = .;
> + .init.setup : { INIT_SETUP(16) }
> .initcall.init : {
> - INITCALLS
> + INIT_CALLS
> }
> - __initcall_end = .;
> - __con_initcall_start = .;
> - .con_initcall.init : { *(.con_initcall.init) }
> - __con_initcall_end = .;
> + .con_initcall.init : { CON_INITCALL }
> .m68k_fixup : {
> __start_fixup = .;
> *(.m68k_fixup)
> __stop_fixup = .;
> }
> SECURITY_INIT
> -#ifdef CONFIG_BLK_DEV_INITRD
> - . = ALIGN(PAGE_SIZE);
> - __initramfs_start = .;
> - .init.ramfs : { *(.init.ramfs) }
> - __initramfs_end = .;
> -#endif
> + .init.ramfs : { INIT_RAM_FS }
> . = ALIGN(PAGE_SIZE);
> __init_end = .;
> - .data.init.task : { *(.data.init_task) }
> -
>
> - .bss : { *(.bss) } /* BSS */
> + BSS_SECTION(0, 0, 0)
>
> _end = . ;
>
> - .crap : {
> - /* Stabs debugging sections. */
> - *(.stab)
> - *(.stabstr)
> - *(.stab.excl)
> - *(.stab.exclstr)
> - *(.stab.index)
> - *(.stab.indexstr)
> - *(.comment)
> - *(.note)
> - }
> + STABS_DEBUG
>
> /* Sections to be discarded */
> DISCARDS
> --
> 1.6.3.3
>
>
--
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
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2009-09-27 9:58 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-16 16:44 [PATCH v2 0/2] Linker script cleanup patches for m68k Tim Abbott
2009-09-16 16:44 ` [PATCH v2 1/2] m68k: Make thread_info.h usable from assembly Tim Abbott
2009-09-27 9:55 ` Geert Uytterhoeven
2009-09-27 11:58 ` Sam Ravnborg
2009-11-20 7:56 ` Geert Uytterhoeven
2009-09-16 16:44 ` [PATCH v2 2/2] m68k: Cleanup linker scripts using new linker script macros Tim Abbott
2009-09-27 9:58 ` Geert Uytterhoeven [this message]
2009-09-27 13:01 ` Andreas Schwab
2009-09-27 17:57 ` Tim Abbott
2009-09-29 17:12 ` Andreas Schwab
2009-09-30 6:53 ` Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=10f740e80909270258o6bde0f3dk720bd5b5c091ed2f@mail.gmail.com \
--to=geert@linux-m68k.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
--cc=sam@ravnborg.org \
--cc=tabbott@ksplice.com \
--cc=zippel@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox