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 }