All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.