From: Greg Ungerer <gerg@snapgear.com>
To: Tim Abbott <tabbott@ksplice.com>
Cc: Greg Ungerer <gerg@uclinux.org>,
linux-kernel@vger.kernel.org, Sam Ravnborg <sam@ravnborg.org>
Subject: Re: [PATCH v2 2/2] m68knommu: Clean up linker script using new linker script macros.
Date: Thu, 01 Oct 2009 15:56:07 +1000 [thread overview]
Message-ID: <4AC44477.8000703@snapgear.com> (raw)
In-Reply-To: <1253638615-27009-3-git-send-email-tabbott@ksplice.com>
Hi Tim,
Tim Abbott wrote:
> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
> Cc: Greg Ungerer <gerg@uclinux.org>
This results in kernels that don't boot for me. I haven't done
any more debugging than to just try booting at this time.
Before this patch applied has:
vmlinux: file format elf32-m68k
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00125ff0 40020000 40020000 00002000 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00012010 40145ff0 40145ff0 00127ff0 2**4
CONTENTS, ALLOC, LOAD, DATA
2 .init 0000c000 40158000 40158000 0013a000 2**2
CONTENTS, ALLOC, LOAD, CODE
3 .bss 0000a9ec 40164000 40164000 00146000 2**4
ALLOC
4 .comment 00001c56 00000000 00000000 00146000 2**0
CONTENTS, READONLY
And after applied:
linux-2.6.x/vmlinux: file format elf32-m68k
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00125ff0 40020000 40020000 00002000 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00012010 40145ff0 40145ff0 00127ff0 2**4
CONTENTS, ALLOC, LOAD, DATA
2 .init.text 0000aaac 40158000 40158000 0013a000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
3 .init.data 00000b5c 40162aac 40162aac 00144aac 2**2
CONTENTS, ALLOC, LOAD, DATA
4 .init_end 000009f8 40163608 40163608 00145608 2**0
ALLOC
5 .bss 0000a9ec 40164000 40164000 00145608 2**4
ALLOC
6 .comment 00001c56 00000000 00000000 00145608 2**0
CONTENTS, READONLY
Does that look like what you would have expected?
I suspect the problem may lie in the binary conversion of this
elf file to a raw binary for booting. This uses objcopy with
"-O binary". The resulting binary files are different in size
with and without the patch by about 2582 bytes. Suspicious
me thinks.
Regards
Greg
> ---
> arch/m68knommu/kernel/vmlinux.lds.S | 41 +++++++++-------------------------
> 1 files changed, 11 insertions(+), 30 deletions(-)
>
> diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
> index 2736a5e..b236133 100644
> --- a/arch/m68knommu/kernel/vmlinux.lds.S
> +++ b/arch/m68knommu/kernel/vmlinux.lds.S
> @@ -8,6 +8,8 @@
> */
>
> #include <asm-generic/vmlinux.lds.h>
> +#include <asm/page.h>
> +#include <asm/thread_info.h>
>
> #if defined(CONFIG_RAMKERNEL)
> #define RAM_START CONFIG_KERNELBASE
> @@ -147,40 +149,19 @@ SECTIONS {
> . = ALIGN(4);
> _sdata = . ;
> DATA_DATA
> - . = ALIGN(32);
> - *(.data.cacheline_aligned)
> - . = ALIGN(8192) ;
> - *(.data.init_task)
> + CACHELINE_ALIGNED_DATA(32)
> + INIT_TASK_DATA(THREAD_SIZE)
> _edata = . ;
> } > DATA
>
> - .init : {
> - . = ALIGN(4096);
> + .init_begin : {
> + . = ALIGN(PAGE_SIZE);
> __init_begin = .;
> - _sinittext = .;
> - INIT_TEXT
> - _einittext = .;
> - INIT_DATA
> - . = ALIGN(16);
> - __setup_start = .;
> - *(.init.setup)
> - __setup_end = .;
> - __initcall_start = .;
> - INITCALLS
> - __initcall_end = .;
> - __con_initcall_start = .;
> - *(.con_initcall.init)
> - __con_initcall_end = .;
> - __security_initcall_start = .;
> - *(.security_initcall.init)
> - __security_initcall_end = .;
> -#ifdef CONFIG_BLK_DEV_INITRD
> - . = ALIGN(4);
> - __initramfs_start = .;
> - *(.init.ramfs)
> - __initramfs_end = .;
> -#endif
> - . = ALIGN(4096);
> + } > INIT
> + INIT_TEXT_SECTION(PAGE_SIZE) > INIT
> + INIT_DATA_SECTION(16) > INIT
> + .init_end : {
> + . = ALIGN(PAGE_SIZE);
> __init_end = .;
> } > INIT
>
--
------------------------------------------------------------------------
Greg Ungerer -- Principal Engineer EMAIL: gerg@snapgear.com
SnapGear Group, McAfee PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
next prev parent reply other threads:[~2009-10-01 5:56 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-22 16:56 [PATCH v2 0/2] Linker script cleanup patches for m68knommu Tim Abbott
2009-09-22 16:56 ` [PATCH v2 1/2] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
2009-09-22 16:56 ` [PATCH v2 2/2] m68knommu: Clean up linker script using new linker script macros Tim Abbott
2009-10-01 5:56 ` Greg Ungerer [this message]
2009-10-12 14:47 ` Tim Abbott
2009-10-12 23:46 ` Greg Ungerer
2009-10-13 1:30 ` [PATCH v3 0/7] " Tim Abbott
2009-10-13 1:30 ` [PATCH v3 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script Tim Abbott
2009-10-13 1:30 ` [PATCH v3 2/7] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
2009-10-13 1:30 ` [PATCH v3 3/7] m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA Tim Abbott
2009-10-13 1:30 ` [PATCH v3 4/7] m68knommu: Use more macros inside the .init section Tim Abbott
2009-10-13 1:30 ` [PATCH v3 5/7] m68knommu: Move __init_begin out of " Tim Abbott
2009-10-13 1:30 ` [PATCH v3 6/7] m68knommu: Move __init_end " Tim Abbott
2009-10-13 1:30 ` [PATCH v3 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION Tim Abbott
2009-10-14 4:41 ` [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section Greg Ungerer
2009-10-14 15:16 ` Sam Ravnborg
2009-10-18 17:22 ` Tim Abbott
2009-10-18 17:23 ` [PATCH v4 1/7] m68knommu: Don't hardcode the value of PAGE_SIZE in the linker script Tim Abbott
2009-10-30 0:57 ` Greg Ungerer
2009-10-30 1:22 ` Tim Abbott
2009-10-30 5:02 ` Greg Ungerer
2009-10-18 17:23 ` [PATCH v4 2/7] m68knommu: Make THREAD_SIZE available to assembly files Tim Abbott
2009-10-18 17:23 ` [PATCH v4 3/7] m68knommu: Use INIT_TASK_DATA and CACHELINE_ALIGNED_DATA Tim Abbott
2009-10-18 17:23 ` [PATCH v4 4/7] m68knommu: Use more macros inside the .init section Tim Abbott
2009-10-18 17:23 ` [PATCH v4 5/7] m68knommu: Move __init_begin out of " Tim Abbott
2009-10-18 17:23 ` [PATCH v4 6/7] m68knommu: Move __init_end " Tim Abbott
2009-10-18 17:23 ` [PATCH v4 7/7] m68knommu: Split the .init section into INIT_TEXT_SECTION and INIT_DATA_SECTION Tim Abbott
2009-10-30 1:13 ` Greg Ungerer
2009-10-30 1:30 ` Tim Abbott
2009-10-30 5:10 ` Greg Ungerer
2009-10-30 11:35 ` Sam Ravnborg
2009-10-30 18:10 ` Tim Abbott
2009-10-30 0:44 ` [PATCH v3 6/7] m68knommu: Move __init_end out of the .init section Greg Ungerer
2009-10-13 5:55 ` [PATCH v3 4/7] m68knommu: Use more macros inside " Greg Ungerer
2009-10-13 15:39 ` Tim Abbott
2009-10-14 4:22 ` Greg Ungerer
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=4AC44477.8000703@snapgear.com \
--to=gerg@snapgear.com \
--cc=gerg@uclinux.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sam@ravnborg.org \
--cc=tabbott@ksplice.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.