~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/um/kernel/dyn.lds.S

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #include <asm/vmlinux.lds.h>
  2 #include <asm/page.h>
  3 
  4 OUTPUT_FORMAT(ELF_FORMAT)
  5 OUTPUT_ARCH(ELF_ARCH)
  6 ENTRY(_start)
  7 jiffies = jiffies_64;
  8 
  9 VERSION {
 10   {
 11     local: *;
 12   };
 13 }
 14 
 15 SECTIONS
 16 {
 17   PROVIDE (__executable_start = START);
 18   . = START + SIZEOF_HEADERS;
 19   .interp         : { *(.interp) }
 20   __binary_start = .;
 21   . = ALIGN(4096);              /* Init code and data */
 22   _text = .;
 23   INIT_TEXT_SECTION(PAGE_SIZE)
 24 
 25   . = ALIGN(PAGE_SIZE);
 26 
 27   /* Read-only sections, merged into text segment: */
 28   .hash           : { *(.hash) }
 29   .gnu.hash       : { *(.gnu.hash) }
 30   .dynsym         : { *(.dynsym) }
 31   .dynstr         : { *(.dynstr) }
 32   .gnu.version    : { *(.gnu.version) }
 33   .gnu.version_d  : { *(.gnu.version_d) }
 34   .gnu.version_r  : { *(.gnu.version_r) }
 35   .rel.init       : { *(.rel.init) }
 36   .rela.init      : { *(.rela.init) }
 37   .rel.text       : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
 38   .rela.text      : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
 39   .rel.fini       : { *(.rel.fini) }
 40   .rela.fini      : { *(.rela.fini) }
 41   .rel.rodata     : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
 42   .rela.rodata    : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
 43   .rel.data       : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
 44   .rela.data      : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
 45   .rel.tdata      : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
 46   .rela.tdata     : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
 47   .rel.tbss       : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
 48   .rela.tbss      : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
 49   .rel.ctors      : { *(.rel.ctors) }
 50   .rela.ctors     : { *(.rela.ctors) }
 51   .rel.dtors      : { *(.rel.dtors) }
 52   .rela.dtors     : { *(.rela.dtors) }
 53   .rel.got        : { *(.rel.got) }
 54   .rela.got       : { *(.rela.got) }
 55   .rel.bss        : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
 56   .rela.bss       : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
 57   .rel.plt : {
 58         *(.rel.plt)
 59         PROVIDE_HIDDEN(__rel_iplt_start = .);
 60         *(.rel.iplt)
 61         PROVIDE_HIDDEN(__rel_iplt_end = .);
 62   }
 63   .rela.plt : {
 64         *(.rela.plt)
 65         PROVIDE_HIDDEN(__rela_iplt_start = .);
 66         *(.rela.iplt)
 67         PROVIDE_HIDDEN(__rela_iplt_end = .);
 68   }
 69   .init           : {
 70     KEEP (*(.init))
 71   } =0x90909090
 72   .plt            : { *(.plt) }
 73   .text           : {
 74     _stext = .;
 75     TEXT_TEXT
 76     SCHED_TEXT
 77     LOCK_TEXT
 78     IRQENTRY_TEXT
 79     SOFTIRQENTRY_TEXT
 80     *(.fixup)
 81     *(.stub .text.* .gnu.linkonce.t.*)
 82     /* .gnu.warning sections are handled specially by elf32.em.  */
 83     *(.gnu.warning)
 84 
 85     . = ALIGN(PAGE_SIZE);
 86   } =0x90909090
 87   . = ALIGN(PAGE_SIZE);
 88   .syscall_stub : {
 89         __syscall_stub_start = .;
 90         *(.__syscall_stub*)
 91         __syscall_stub_end = .;
 92   }
 93   .fini           : {
 94     KEEP (*(.fini))
 95   } =0x90909090
 96 
 97   .kstrtab : { *(.kstrtab) }
 98 
 99   #include <asm/common.lds.S>
100 
101   __init_begin = .;
102   init.data : { INIT_DATA }
103   __init_end = .;
104 
105   /* Ensure the __preinit_array_start label is properly aligned.  We
106      could instead move the label definition inside the section, but
107      the linker would then create the section even if it turns out to
108      be empty, which isn't pretty.  */
109   . = ALIGN(32 / 8);
110   .preinit_array     : { *(.preinit_array) }
111   .init_array     : {
112     *(.kasan_init)
113     *(.init_array.*)
114     *(.init_array)
115   }
116   .fini_array     : { *(.fini_array) }
117   .data           : {
118     INIT_TASK_DATA(KERNEL_STACK_SIZE)
119     . = ALIGN(KERNEL_STACK_SIZE);
120     *(.data..init_irqstack)
121     DATA_DATA
122     *(.data.* .gnu.linkonce.d.*)
123     SORT(CONSTRUCTORS)
124   }
125   .data1          : { *(.data1) }
126   .tdata          : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
127   .tbss           : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
128   .eh_frame       : { KEEP (*(.eh_frame)) }
129   .gcc_except_table   : { *(.gcc_except_table) }
130   .dynamic        : { *(.dynamic) }
131   .ctors          : {
132     /* gcc uses crtbegin.o to find the start of
133        the constructors, so we make sure it is
134        first.  Because this is a wildcard, it
135        doesn't matter if the user does not
136        actually link against crtbegin.o; the
137        linker won't look for a file to match a
138        wildcard.  The wildcard also means that it
139        doesn't matter which directory crtbegin.o
140        is in.  */
141     KEEP (*crtbegin.o(.ctors))
142     /* We don't want to include the .ctor section from
143        from the crtend.o file until after the sorted ctors.
144        The .ctor section from the crtend file contains the
145        end of ctors marker and it must be last */
146     KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
147     KEEP (*(SORT(.ctors.*)))
148     KEEP (*(.ctors))
149   }
150   .dtors          : {
151     KEEP (*crtbegin.o(.dtors))
152     KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
153     KEEP (*(SORT(.dtors.*)))
154     KEEP (*(.dtors))
155   }
156   .jcr            : { KEEP (*(.jcr)) }
157   .got            : { *(.got.plt) *(.got) }
158   _edata = .;
159   PROVIDE (edata = .);
160   .bss            : {
161    __bss_start = .;
162    *(.dynbss)
163    *(.bss .bss.* .gnu.linkonce.b.*)
164    *(COMMON)
165    /* Align here to ensure that the .bss section occupies space up to
166       _end.  Align after .bss to ensure correct alignment even if the
167       .bss section disappears because there are no input sections.  */
168    . = ALIGN(32 / 8);
169   . = ALIGN(32 / 8);
170   }
171    __bss_stop = .;
172   _end = .;
173   PROVIDE (end = .);
174 
175   STABS_DEBUG
176   DWARF_DEBUG
177   ELF_DETAILS
178 
179   DISCARDS
180 }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php