Linux Audio

Check our new training course

Open-source upstreaming

Need help get the support for your hardware in upstream Linux?
Loading...
Note: File does not exist in v4.17.
  1/* ld script to make FRV Linux kernel
  2 * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>;
  3 */
  4OUTPUT_FORMAT("elf32-frv", "elf32-frv", "elf32-frv")
  5OUTPUT_ARCH(frv)
  6ENTRY(_start)
  7
  8#include <asm-generic/vmlinux.lds.h>
  9#include <asm/processor.h>
 10#include <asm/page.h>
 11#include <asm/cache.h>
 12#include <asm/thread_info.h>
 13
 14jiffies = jiffies_64 + 4;
 15
 16__page_offset = CONFIG_PAGE_OFFSET;	/* start of area covered by struct pages */
 17__kernel_image_start = __page_offset;	/* address at which kernel image resides */
 18
 19SECTIONS
 20{
 21  . = __kernel_image_start;
 22
 23  /* discardable initialisation code and data */
 24  . = ALIGN(PAGE_SIZE);			/* Init code and data */
 25  __init_begin = .;
 26
 27  _sinittext = .;
 28  .init.text : {
 29	HEAD_TEXT
 30#ifndef CONFIG_DEBUG_INFO
 31	INIT_TEXT
 32	EXIT_TEXT
 33	EXIT_DATA
 34	*(.exitcall.exit)
 35#endif
 36  }
 37  _einittext = .;
 38
 39  INIT_DATA_SECTION(8)
 40  PERCPU_SECTION(L1_CACHE_BYTES)
 41
 42  . = ALIGN(PAGE_SIZE);
 43  __init_end = .;
 44
 45  .trap : {
 46	/* trap table management - read entry-table.S before modifying */
 47	. = ALIGN(8192);
 48	__trap_tables = .;
 49	*(.trap.user)
 50	*(.trap.kernel)
 51	. = ALIGN(4096);
 52	*(.trap.break)
 53  }
 54
 55  /* Text and read-only data */
 56  . = ALIGN(4);
 57  _text = .;
 58  _stext = .;
 59  .text : {
 60	*(.text..start)
 61	*(.text..entry)
 62	*(.text..break)
 63	*(.text..tlbmiss)
 64	TEXT_TEXT
 65	SCHED_TEXT
 66	CPUIDLE_TEXT
 67	LOCK_TEXT
 68#ifdef CONFIG_DEBUG_INFO
 69	INIT_TEXT
 70	EXIT_TEXT
 71	*(.exitcall.exit)
 72#endif
 73	*(.fixup)
 74	*(.gnu.warning)
 75	*(.exitcall.exit)
 76	} = 0x9090
 77
 78  _etext = .;			/* End of text section */
 79
 80  RODATA
 81
 82  .rodata : {
 83	*(.trap.vector)
 84
 85	/* this clause must not be modified - the ordering and adjacency are imperative */
 86	__trap_fixup_tables = .;
 87	*(.trap.fixup.user .trap.fixup.kernel)
 88
 89	}
 90
 91  EXCEPTION_TABLE(8)
 92
 93  _sdata = .;
 94  .data : {			/* Data */
 95	INIT_TASK_DATA(THREAD_SIZE)
 96	CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)
 97	DATA_DATA
 98	*(.data.*)
 99	EXIT_DATA
100	CONSTRUCTORS
101	}
102
103  _edata = .;			/* End of data section */
104
105  /* GP section */
106  . = ALIGN(L1_CACHE_BYTES);
107  _gp = . + 2048;
108  PROVIDE (gp = _gp);
109
110  .sdata : { *(.sdata .sdata.*) }
111
112  /* BSS */
113  . = ALIGN(L1_CACHE_BYTES);
114  __bss_start = .;
115
116  .sbss		: { *(.sbss .sbss.*) }
117  .bss		: { *(.bss .bss.*) }
118  .bss..stack	: { *(.bss) }
119
120  __bss_stop = .;
121  _end = . ;
122  . = ALIGN(PAGE_SIZE);
123  __kernel_image_end = .;
124
125  STABS_DEBUG
126  DWARF_DEBUG
127
128  .comment 0 : { *(.comment) }
129
130  DISCARDS
131}
132
133__kernel_image_size_no_bss = __bss_start - __kernel_image_start;