bootloader.lds 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. OUTPUT_FORMAT("elf64-ia64-little")
  3. OUTPUT_ARCH(ia64)
  4. ENTRY(_start)
  5. SECTIONS
  6. {
  7. /* Read-only sections, merged into text segment: */
  8. . = 0x100000;
  9. _text = .;
  10. .text : { *(__ivt_section) *(.text) }
  11. _etext = .;
  12. /* Global data */
  13. _data = .;
  14. .rodata : { *(.rodata) *(.rodata.*) }
  15. .data : { *(.data) *(.gnu.linkonce.d*) CONSTRUCTORS }
  16. __gp = ALIGN (8) + 0x200000;
  17. .got : { *(.got.plt) *(.got) }
  18. /* We want the small data sections together, so single-instruction offsets
  19. can access them all, and initialized data all before uninitialized, so
  20. we can shorten the on-disk segment size. */
  21. .sdata : { *(.sdata) }
  22. _edata = .;
  23. __bss_start = .;
  24. .sbss : { *(.sbss) *(.scommon) }
  25. .bss : { *(.bss) *(COMMON) }
  26. . = ALIGN(64 / 8);
  27. __bss_stop = .;
  28. _end = . ;
  29. /* Stabs debugging sections. */
  30. .stab 0 : { *(.stab) }
  31. .stabstr 0 : { *(.stabstr) }
  32. .stab.excl 0 : { *(.stab.excl) }
  33. .stab.exclstr 0 : { *(.stab.exclstr) }
  34. .stab.index 0 : { *(.stab.index) }
  35. .stab.indexstr 0 : { *(.stab.indexstr) }
  36. .comment 0 : { *(.comment) }
  37. /* DWARF debug sections.
  38. Symbols in the DWARF debugging sections are relative to the beginning
  39. of the section so we begin them at 0. */
  40. /* DWARF 1 */
  41. .debug 0 : { *(.debug) }
  42. .line 0 : { *(.line) }
  43. /* GNU DWARF 1 extensions */
  44. .debug_srcinfo 0 : { *(.debug_srcinfo) }
  45. .debug_sfnames 0 : { *(.debug_sfnames) }
  46. /* DWARF 1.1 and DWARF 2 */
  47. .debug_aranges 0 : { *(.debug_aranges) }
  48. .debug_pubnames 0 : { *(.debug_pubnames) }
  49. /* DWARF 2 */
  50. .debug_info 0 : { *(.debug_info) }
  51. .debug_abbrev 0 : { *(.debug_abbrev) }
  52. .debug_line 0 : { *(.debug_line) }
  53. .debug_frame 0 : { *(.debug_frame) }
  54. .debug_str 0 : { *(.debug_str) }
  55. .debug_loc 0 : { *(.debug_loc) }
  56. .debug_macinfo 0 : { *(.debug_macinfo) }
  57. /* SGI/MIPS DWARF 2 extensions */
  58. .debug_weaknames 0 : { *(.debug_weaknames) }
  59. .debug_funcnames 0 : { *(.debug_funcnames) }
  60. .debug_typenames 0 : { *(.debug_typenames) }
  61. .debug_varnames 0 : { *(.debug_varnames) }
  62. /* These must appear regardless of . */
  63. }