Linux Audio

Check our new training course

Buildroot integration, development and maintenance

Need a Buildroot system for your embedded project?
Loading...
v3.15
 
 1#include <asm-generic/vmlinux.lds.h>
 2
 3OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
 4
 5#undef i386
 6
 7#include <asm/cache.h>
 8#include <asm/page_types.h>
 9
10#ifdef CONFIG_X86_64
11OUTPUT_ARCH(i386:x86-64)
12ENTRY(startup_64)
13#else
14OUTPUT_ARCH(i386)
15ENTRY(startup_32)
16#endif
17
18SECTIONS
19{
20	/* Be careful parts of head_64.S assume startup_32 is at
21	 * address 0.
22	 */
23	. = 0;
24	.head.text : {
25		_head = . ;
26		HEAD_TEXT
27		_ehead = . ;
28	}
29	.rodata..compressed : {
30		*(.rodata..compressed)
31	}
32	.text :	{
33		_text = .; 	/* Text */
34		*(.text)
35		*(.text.*)
36		_etext = . ;
37	}
38	.rodata : {
39		_rodata = . ;
40		*(.rodata)	 /* read-only data */
41		*(.rodata.*)
42		_erodata = . ;
43	}
44	.got : {
45		_got = .;
46		KEEP(*(.got.plt))
47		KEEP(*(.got))
48		_egot = .;
49	}
50	.data :	{
51		_data = . ;
52		*(.data)
53		*(.data.*)
 
54		_edata = . ;
55	}
56	. = ALIGN(L1_CACHE_BYTES);
57	.bss : {
58		_bss = . ;
59		*(.bss)
60		*(.bss.*)
61		*(COMMON)
62		. = ALIGN(8);	/* For convenience during zeroing */
63		_ebss = .;
64	}
65#ifdef CONFIG_X86_64
66       . = ALIGN(PAGE_SIZE);
67       .pgtable : {
68		_pgtable = . ;
69		*(.pgtable)
70		_epgtable = . ;
71	}
72#endif
 
73	_end = .;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74}
v6.2
  1/* SPDX-License-Identifier: GPL-2.0 */
  2#include <asm-generic/vmlinux.lds.h>
  3
  4OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT)
  5
  6#undef i386
  7
  8#include <asm/cache.h>
  9#include <asm/page_types.h>
 10
 11#ifdef CONFIG_X86_64
 12OUTPUT_ARCH(i386:x86-64)
 13ENTRY(startup_64)
 14#else
 15OUTPUT_ARCH(i386)
 16ENTRY(startup_32)
 17#endif
 18
 19SECTIONS
 20{
 21	/* Be careful parts of head_64.S assume startup_32 is at
 22	 * address 0.
 23	 */
 24	. = 0;
 25	.head.text : {
 26		_head = . ;
 27		HEAD_TEXT
 28		_ehead = . ;
 29	}
 30	.rodata..compressed : {
 31		*(.rodata..compressed)
 32	}
 33	.text :	{
 34		_text = .; 	/* Text */
 35		*(.text)
 36		*(.text.*)
 37		_etext = . ;
 38	}
 39	.rodata : {
 40		_rodata = . ;
 41		*(.rodata)	 /* read-only data */
 42		*(.rodata.*)
 43		_erodata = . ;
 44	}
 
 
 
 
 
 
 45	.data :	{
 46		_data = . ;
 47		*(.data)
 48		*(.data.*)
 49		*(.bss.efistub)
 50		_edata = . ;
 51	}
 52	. = ALIGN(L1_CACHE_BYTES);
 53	.bss : {
 54		_bss = . ;
 55		*(.bss)
 56		*(.bss.*)
 57		*(COMMON)
 58		. = ALIGN(8);	/* For convenience during zeroing */
 59		_ebss = .;
 60	}
 61#ifdef CONFIG_X86_64
 62       . = ALIGN(PAGE_SIZE);
 63       .pgtable : {
 64		_pgtable = . ;
 65		*(.pgtable)
 66		_epgtable = . ;
 67	}
 68#endif
 69	. = ALIGN(PAGE_SIZE);	/* keep ZO size page aligned */
 70	_end = .;
 71
 72	STABS_DEBUG
 73	DWARF_DEBUG
 74	ELF_DETAILS
 75
 76	DISCARDS
 77	/DISCARD/ : {
 78		*(.dynamic) *(.dynsym) *(.dynstr) *(.dynbss)
 79		*(.hash) *(.gnu.hash)
 80		*(.note.*)
 81	}
 82
 83	.got.plt (INFO) : {
 84		*(.got.plt)
 85	}
 86	ASSERT(SIZEOF(.got.plt) == 0 ||
 87#ifdef CONFIG_X86_64
 88	       SIZEOF(.got.plt) == 0x18,
 89#else
 90	       SIZEOF(.got.plt) == 0xc,
 91#endif
 92	       "Unexpected GOT/PLT entries detected!")
 93
 94	/*
 95	 * Sections that should stay zero sized, which is safer to
 96	 * explicitly check instead of blindly discarding.
 97	 */
 98	.got : {
 99		*(.got)
100	}
101	ASSERT(SIZEOF(.got) == 0, "Unexpected GOT entries detected!")
102
103	.plt : {
104		*(.plt) *(.plt.*)
105	}
106	ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
107
108	.rel.dyn : {
109		*(.rel.*) *(.rel_*)
110	}
111	ASSERT(SIZEOF(.rel.dyn) == 0, "Unexpected run-time relocations (.rel) detected!")
112
113	.rela.dyn : {
114		*(.rela.*) *(.rela_*)
115	}
116	ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!")
117}