lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <10f740e80909270258o6bde0f3dk720bd5b5c091ed2f@mail.gmail.com>
Date:	Sun, 27 Sep 2009 11:58:06 +0200
From:	Geert Uytterhoeven <geert@...ux-m68k.org>
To:	Tim Abbott <tabbott@...lice.com>
Cc:	Roman Zippel <zippel@...ux-m68k.org>, linux-m68k@...r.kernel.org,
	linux-kernel@...r.kernel.org, Sam Ravnborg <sam@...nborg.org>
Subject: Re: [PATCH v2 2/2] m68k: Cleanup linker scripts using new linker 
	script macros.

On Wed, Sep 16, 2009 at 18:44, Tim Abbott <tabbott@...lice.com> wrote:
> Signed-off-by: Tim Abbott <tabbott@...lice.com>
> Cc: Geert Uytterhoeven <geert@...ux-m68k.org>
> Cc: Roman Zippel <zippel@...ux-m68k.org>
> Cc: linux-m68k@...ts.linux-m68k.org
> Cc: Sam Ravnborg <sam@...nborg.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@...ux-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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ