elf_x86_64_efi.lds 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. }
  20. . = ALIGN(4096);
  21. .reloc :
  22. {
  23. *(.reloc)
  24. }
  25. . = ALIGN(4096);
  26. .data :
  27. {
  28. *(.rodata*)
  29. *(.got.plt)
  30. *(.got)
  31. *(.data*)
  32. *(.sdata)
  33. /* the EFI loader doesn't seem to like a .bss section, so we stick
  34. it all into .data: */
  35. *(.sbss)
  36. *(.scommon)
  37. *(.dynbss)
  38. *(.bss)
  39. *(COMMON)
  40. *(.rel.local)
  41. }
  42. . = ALIGN(4096);
  43. .dynamic : { *(.dynamic) }
  44. . = ALIGN(4096);
  45. .rela :
  46. {
  47. *(.rela.data*)
  48. *(.rela.got)
  49. *(.rela.stab)
  50. }
  51. . = ALIGN(4096);
  52. .dynsym : { *(.dynsym) }
  53. . = ALIGN(4096);
  54. .dynstr : { *(.dynstr) }
  55. . = ALIGN(4096);
  56. .ignored.reloc :
  57. {
  58. *(.rela.reloc)
  59. *(.eh_frame)
  60. *(.note.GNU-stack)
  61. }
  62. .comment 0 : { *(.comment) }
  63. }