elf_x86_64_efi.lds 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /* Same as elf_x86_64_fbsd_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */
  2. OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
  3. OUTPUT_ARCH(i386:x86-64)
  4. ENTRY(_start)
  5. SECTIONS
  6. {
  7. . = 0;
  8. ImageBase = .;
  9. .hash : { *(.hash) } /* this MUST come first! */
  10. . = ALIGN(4096);
  11. .eh_frame :
  12. {
  13. *(.eh_frame)
  14. }
  15. . = ALIGN(4096);
  16. .text :
  17. {
  18. *(.text)
  19. *(.text.*)
  20. *(.gnu.linkonce.t.*)
  21. }
  22. . = ALIGN(4096);
  23. .reloc :
  24. {
  25. *(.reloc)
  26. }
  27. . = ALIGN(4096);
  28. .data :
  29. {
  30. *(.rodata*)
  31. *(.got.plt)
  32. *(.got)
  33. *(.data*)
  34. *(.sdata)
  35. /* the EFI loader doesn't seem to like a .bss section, so we stick
  36. it all into .data: */
  37. *(.sbss)
  38. *(.scommon)
  39. *(.dynbss)
  40. *(.bss)
  41. *(COMMON)
  42. *(.rel.local)
  43. }
  44. . = ALIGN(4096);
  45. .dynamic : { *(.dynamic) }
  46. . = ALIGN(4096);
  47. .rela :
  48. {
  49. *(.rela.data*)
  50. *(.rela.got)
  51. *(.rela.stab)
  52. }
  53. . = ALIGN(4096);
  54. .dynsym : { *(.dynsym) }
  55. . = ALIGN(4096);
  56. .dynstr : { *(.dynstr) }
  57. . = ALIGN(4096);
  58. .ignored.reloc :
  59. {
  60. *(.rela.reloc)
  61. *(.eh_frame)
  62. *(.note.GNU-stack)
  63. }
  64. .comment 0 : { *(.comment) }
  65. }