u-boot.lds 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /*
  2. * Copyright 2006, 2007 Freescale Semiconductor, Inc.
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. OUTPUT_ARCH(powerpc)
  7. SECTIONS
  8. {
  9. /* Read-only sections, merged into text segment: */
  10. .text :
  11. {
  12. arch/powerpc/cpu/mpc86xx/start.o (.text*)
  13. arch/powerpc/cpu/mpc86xx/traps.o (.text*)
  14. *(.text*)
  15. }
  16. _etext = .;
  17. PROVIDE (etext = .);
  18. .rodata :
  19. {
  20. *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
  21. }
  22. /* Read-write section, merged into data segment: */
  23. . = (. + 0x00FF) & 0xFFFFFF00;
  24. _erotext = .;
  25. PROVIDE (erotext = .);
  26. .reloc :
  27. {
  28. _GOT2_TABLE_ = .;
  29. KEEP(*(.got2))
  30. KEEP(*(.got))
  31. PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
  32. _FIXUP_TABLE_ = .;
  33. KEEP(*(.fixup))
  34. }
  35. __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
  36. __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
  37. .data :
  38. {
  39. *(.data*)
  40. *(.sdata*)
  41. }
  42. _edata = .;
  43. PROVIDE (edata = .);
  44. . = .;
  45. . = ALIGN(4);
  46. .u_boot_list : {
  47. KEEP(*(SORT(.u_boot_list*)));
  48. }
  49. . = .;
  50. __start___ex_table = .;
  51. __ex_table : { *(__ex_table) }
  52. __stop___ex_table = .;
  53. . = ALIGN(256);
  54. __init_begin = .;
  55. .text.init : { *(.text.init) }
  56. .data.init : { *(.data.init) }
  57. . = ALIGN(256);
  58. __init_end = .;
  59. __bss_start = .;
  60. .bss (NOLOAD) :
  61. {
  62. *(.bss*)
  63. *(.sbss*)
  64. *(COMMON)
  65. . = ALIGN(4);
  66. }
  67. __bss_end = . ;
  68. PROVIDE (end = .);
  69. }