Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #include <asm-generic/vmlinux.lds.h>
0003 
0004 #ifdef CONFIG_PPC64_BOOT_WRAPPER
0005 OUTPUT_ARCH(powerpc:common64)
0006 #else
0007 OUTPUT_ARCH(powerpc:common)
0008 #endif
0009 ENTRY(_zimage_start)
0010 EXTERN(_zimage_start)
0011 SECTIONS
0012 {
0013   .text      :
0014   {
0015     _start = .;
0016     *(.text)
0017     *(.fixup)
0018     _etext = .;
0019   }
0020   . = ALIGN(4096);
0021   .data    :
0022   {
0023     *(.rodata*)
0024     *(.data*)
0025     *(.sdata*)
0026 #ifndef CONFIG_PPC64_BOOT_WRAPPER
0027     *(.got2)
0028 #endif
0029   }
0030   .dynsym : { *(.dynsym) }
0031   .dynstr : { *(.dynstr) }
0032   .dynamic :
0033   {
0034     __dynamic_start = .;
0035     *(.dynamic)
0036   }
0037 
0038 #ifdef CONFIG_PPC64_BOOT_WRAPPER
0039   .got : ALIGN(256)
0040   {
0041     *(.got .toc)
0042   }
0043 #endif
0044 
0045   .hash : { *(.hash) }
0046   .interp : { *(.interp) }
0047   .rela.dyn :
0048   {
0049 #ifdef CONFIG_PPC64_BOOT_WRAPPER
0050     __rela_dyn_start = .;
0051 #endif
0052     *(.rela*)
0053   }
0054 
0055   . = ALIGN(8);
0056   .kernel:dtb :
0057   {
0058     _dtb_start = .;
0059     *(.kernel:dtb)
0060     _dtb_end = .;
0061   }
0062 
0063   . = ALIGN(4096);
0064   .kernel:vmlinux.strip :
0065   {
0066     _vmlinux_start =  .;
0067     *(.kernel:vmlinux.strip)
0068     _vmlinux_end =  .;
0069   }
0070 
0071   . = ALIGN(4096);
0072   .kernel:initrd :
0073   {
0074     _initrd_start =  .;
0075     *(.kernel:initrd)
0076     _initrd_end =  .;
0077   }
0078 
0079   . = ALIGN(4096);
0080   .kernel:esm_blob :
0081   {
0082     _esm_blob_start =  .;
0083     *(.kernel:esm_blob)
0084     _esm_blob_end =  .;
0085   }
0086 
0087   . = ALIGN(4096);
0088   .bss       :
0089   {
0090     _edata  =  .;
0091     __bss_start = .;
0092     *(.sbss)
0093     *(.bss)
0094     *(COMMON)
0095     _end = . ;
0096   }
0097 }