Back to home page

LXR

 
 

    


Warning, /bsps/powerpc/motorola_powerpc/bootloader/ppcboot.lds is written in an unsupported language. File is not indexed.

0001 OUTPUT_ARCH(powerpc)
0002 OUTPUT_FORMAT ("elf32-powerpc", "elf32-powerpc", "elf32-powerpc")
0003 /* Do we need any of these for elf?
0004    __DYNAMIC = 0;    */
0005 SECTIONS
0006 {
0007   .text :
0008   {
0009     /* We have to build the header by hand, painful since ppcboot
0010         format support is very poor in binutils. 
0011         objdump -b ppcboot zImage --all-headers can be used to check. */
0012     /* The following line can be added as a branch to use the same image
0013      * for netboot as for prepboots, the only problem is that objdump
0014      * did not in this case recognize the format since it insisted
0015      * in checking the x86 code area held only zeroes. 
0016      */
0017     LONG(0x48000000+start);
0018     . = 0x1be; BYTE(0x80); BYTE(0)
0019     BYTE(2); BYTE(0); BYTE(0x41); BYTE(1);
0020     BYTE(0x12); BYTE(0x4f); LONG(0);
0021     BYTE(((_edata + 0x1ff)>>9)&0xff); 
0022     BYTE(((_edata + 0x1ff)>>17)&0xff); 
0023     BYTE(((_edata + 0x1ff)>>25)&0xff);
0024     . = 0x1fe;
0025     BYTE(0x55);
0026     BYTE(0xaa);
0027     BYTE(start&0xff);
0028     BYTE((start>>8)&0xff);
0029     BYTE((start>>16)&0xff);
0030     BYTE((start>>24)&0xff);
0031     BYTE(_edata&0xff);
0032     BYTE((_edata>>8)&0xff);
0033     BYTE((_edata>>16)&0xff);
0034     BYTE((_edata>>24)&0xff);
0035     BYTE(0); /* flags */
0036     BYTE(0); /* os_id */
0037     BYTE(0x4C); BYTE(0x69); BYTE(0x6e); 
0038     BYTE(0x75); BYTE(0x78); /* Partition name */
0039     . = 0x400;
0040     *(.text)
0041     *(.text*)
0042     *(.sdata2)
0043     *(.sdata2*)
0044     *(.rodata)
0045     *(.rodata*)
0046   }
0047 /*  . = ALIGN(16); */
0048   .image :
0049   {
0050     rtems.gz(*)
0051     . = ALIGN(4);
0052     *.gz(*)
0053   }
0054   /* Read-write section, merged into data segment: */
0055   /* . = ALIGN(4096); */
0056   .reloc   :
0057   {
0058     *(.got)
0059     _GOT2_TABLE_ = .;
0060     *(.got2)
0061     _FIXUP_TABLE_ = .;
0062     *(.fixup)
0063     _FIXUP_END_ = .;
0064   }
0065 
0066   .handlers : 
0067   {
0068     *(.exception)
0069   }
0070 
0071   .data    :
0072   {
0073     *(.data)
0074     *(.data*)
0075     *(.sdata)
0076     *(.sdata*)
0077     . = ALIGN(4);
0078     _data_end = .;
0079   }
0080   .bss :
0081   {
0082     *(.sbss)
0083     *(.sbss*)
0084     *(.bss)
0085     *(.bss*)
0086     *(COMMON)
0087     . = ALIGN(4);
0088     _bss_end = .;
0089   }
0090   .abs 0 : {
0091     __got2_entries = ABSOLUTE((_FIXUP_TABLE_ - _GOT2_TABLE_) >>2);
0092     __fixup_entries = ABSOLUTE((_FIXUP_END_ - _FIXUP_TABLE_)>>2);
0093     _edata = ABSOLUTE(_data_end);
0094     PROVIDE(_binary_initrd_gz_start = ABSOLUTE(0));
0095     PROVIDE(_binary_initrd_gz_end = ABSOLUTE(0));
0096     _rtems_gz_size = ABSOLUTE(_binary_rtems_gz_end - _binary_rtems_gz_start);
0097     _rtems_size = ABSOLUTE(__rtems_end - __rtems_start);
0098     __bss_words = ABSOLUTE(SIZEOF(.bss)>>2);
0099     __size = ABSOLUTE(_bss_end);
0100   }
0101 
0102   /DISCARD/ : 
0103   {
0104     *(.comment*)
0105     *(.debug*)
0106   }
0107 }