Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85233c43 authored by Tim Abbott's avatar Tim Abbott Committed by Hirokazu Takata
Browse files

m32r: Cleanup linker script using new linker script macros.



This patch is largely a straightforward conversion.  One thing to note
is that the new macros use fewer separate output sections than the old
code; this should have no functional impact but is relevant for people
objdumping vmlinux files.

Also note that it moves the .data.init_task output sections inside
_edata.

Signed-off-by: default avatarTim Abbott <tabbott@ksplice.com>
Signed-off-by: default avatarHirokazu Takata <takata@linux-m32r.org>
parent 743486df
Loading
Loading
Loading
Loading
+9 −58
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
#include <asm-generic/vmlinux.lds.h>
#include <asm/addrspace.h>
#include <asm/page.h>
#include <asm/thread_info.h>

OUTPUT_ARCH(m32r)
#if defined(__LITTLE_ENDIAN__)
@@ -40,72 +41,22 @@ SECTIONS
#endif
  _etext = .;			/* End of text section */

  . = ALIGN(16);		/* Exception table */
  __start___ex_table = .;
  __ex_table : { *(__ex_table) }
  __stop___ex_table = .;

  EXCEPTION_TABLE(16)
  RODATA

  /* writeable */
  .data : {			/* Data */
	DATA_DATA
	CONSTRUCTORS
	}

  . = ALIGN(4096);
  __nosave_begin = .;
  .data_nosave : { *(.data.nosave) }
  . = ALIGN(4096);
  __nosave_end = .;

  . = ALIGN(32);
  .data.cacheline_aligned : { *(.data.cacheline_aligned) }

  RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE)
  _edata = .;			/* End of data section */

  . = ALIGN(8192);		/* init_task */
  .data.init_task : { *(.data.init_task) }

  /* will be freed after init */
  . = ALIGN(4096);		/* Init code and data */
  . = ALIGN(PAGE_SIZE);		/* Init code and data */
  __init_begin = .;
  .init.text : {
	_sinittext = .;
	INIT_TEXT
	_einittext = .;
  }
  .init.data : { INIT_DATA }
  . = ALIGN(16);
  __setup_start = .;
  .init.setup : { *(.init.setup) }
  __setup_end = .;
  __initcall_start = .;
  .initcall.init : {
	INITCALLS
  }
  __initcall_end = .;
  __con_initcall_start = .;
  .con_initcall.init : { *(.con_initcall.init) }
  __con_initcall_end = .;
  SECURITY_INIT

#ifdef CONFIG_BLK_DEV_INITRD
  . = ALIGN(4096);
  __initramfs_start = .;
  .init.ramfs : { *(.init.ramfs) }
  __initramfs_end = .;
#endif

  PERCPU(4096)
  . = ALIGN(4096);
  INIT_TEXT_SECTION(PAGE_SIZE)
  INIT_DATA_SECTION(16)
  PERCPU(PAGE_SIZE)
  . = ALIGN(PAGE_SIZE);
  __init_end = .;
  /* freed after init ends here */

  __bss_start = .;		/* BSS */
  .bss : { *(.bss) }
  . = ALIGN(4);
  __bss_stop = .;
  BSS_SECTION(0, 0, 4)

  _end = . ;