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

Commit 9c88b25b authored by Nelson Elhage's avatar Nelson Elhage Committed by Linus Torvalds
Browse files

frv: clean up linker script using new linker script macros.



This is largely a straightforward conversion. The patch results in
fewer output sections, and some data being reordered, but should have
no functional impact.

Also, note that this patch moves some data (namely, init_task and
cacheline-aligned) inside [_sdata,_edata].

Because frv already builds using -ffunction-sections -fdata-sections,
we can't use BSS_SECTION or RW_DATA_SECTION yet, since they do not
currently include the required .bss.* and .data.* sections.

Signed-off-by: default avatarNelson Elhage <nelhage@ksplice.com>
Acked-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarTim Abbott <tabbott@ksplice.com>
Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 88ddb81e
Loading
Loading
Loading
Loading
+7 −54
Original line number Diff line number Diff line
@@ -35,45 +35,13 @@ SECTIONS
#endif
  }
  _einittext = .;
  .init.data : { INIT_DATA }

  . = ALIGN(8);
  __setup_start = .;
  .setup.init : { KEEP(*(.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

  INIT_DATA_SECTION(8)
  PERCPU(4096)

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

  . = ALIGN(THREAD_SIZE);
  . = ALIGN(PAGE_SIZE);
  __init_end = .;

  /* put sections together that have massive alignment issues */
  . = ALIGN(THREAD_SIZE);
  .data.init_task : {
	  /* init task record & stack */
	  *(.data.init_task)
  }

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

  .trap : {
	/* trap table management - read entry-table.S before modifying */
	. = ALIGN(8192);
@@ -119,13 +87,12 @@ SECTIONS

	}

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

  _sdata = .;
  .data : {			/* Data */
	INIT_TASK_DATA(THREAD_SIZE)
	CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)
	DATA_DATA
	*(.data.*)
	EXIT_DATA
@@ -154,22 +121,8 @@ SECTIONS
  . = ALIGN(PAGE_SIZE);
  __kernel_image_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) }

  .debug_line		0 : { *(.debug_line) }
  .debug_info		0 : { *(.debug_info) }
  .debug_abbrev		0 : { *(.debug_abbrev) }
  .debug_aranges	0 : { *(.debug_aranges) }
  .debug_frame		0 : { *(.debug_frame) }
  .debug_pubnames	0 : { *(.debug_pubnames) }
  .debug_str		0 : { *(.debug_str) }
  .debug_ranges		0 : { *(.debug_ranges) }
  STABS_DEBUG
  DWARF_DEBUG

  .comment 0 : { *(.comment) }