elf_ia64_efi.lds 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. OUTPUT_FORMAT("elf64-ia64-little")
  2. OUTPUT_ARCH(ia64)
  3. ENTRY(_start_plabel)
  4. SECTIONS
  5. {
  6. . = 0;
  7. ImageBase = .;
  8. .hash : { *(.hash) } /* this MUST come first! */
  9. . = ALIGN(4096);
  10. .text :
  11. {
  12. *(.text)
  13. *(.text.*)
  14. *(.gnu.linkonce.t.*)
  15. }
  16. . = ALIGN(4096);
  17. __gp = ALIGN (8) + 0x200000;
  18. .sdata :
  19. {
  20. *(.got.plt)
  21. *(.got)
  22. *(.srodata)
  23. *(.sdata)
  24. *(.sbss)
  25. *(.scommon)
  26. }
  27. . = ALIGN(4096);
  28. .data :
  29. {
  30. *(.rodata*)
  31. *(.ctors)
  32. *(.data*)
  33. *(.gnu.linkonce.d*)
  34. *(.plabel) /* data whose relocs we want to ignore */
  35. /* the EFI loader doesn't seem to like a .bss section, so we stick
  36. it all into .data: */
  37. *(.dynbss)
  38. *(.bss)
  39. *(COMMON)
  40. }
  41. . = ALIGN(4096);
  42. .dynamic : { *(.dynamic) }
  43. . = ALIGN(4096);
  44. .rela :
  45. {
  46. *(.rela.text)
  47. *(.rela.data*)
  48. *(.rela.sdata)
  49. *(.rela.got)
  50. *(.rela.gnu.linkonce.d*)
  51. *(.rela.stab)
  52. *(.rela.ctors)
  53. }
  54. . = ALIGN(4096);
  55. .reloc : /* This is the PECOFF .reloc section! */
  56. {
  57. *(.reloc)
  58. }
  59. . = ALIGN(4096);
  60. .dynsym : { *(.dynsym) }
  61. . = ALIGN(4096);
  62. .dynstr : { *(.dynstr) }
  63. /DISCARD/ :
  64. {
  65. *(.rela.plabel)
  66. *(.rela.reloc)
  67. *(.IA_64.unwind*)
  68. *(.IA64.unwind*)
  69. }
  70. }