elf_x86_64_fbsd_efi.lds 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /* Same as elf_x86_64_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */
  2. OUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd")
  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. . = ALIGN(16);
  21. }
  22. _etext = .;
  23. _text_size = . - _text;
  24. .reloc :
  25. {
  26. *(.reloc)
  27. }
  28. . = ALIGN(4096);
  29. .data :
  30. {
  31. _data = .;
  32. *(.rodata*)
  33. *(.got.plt)
  34. *(.got)
  35. *(.data*)
  36. *(.sdata)
  37. /* the EFI loader doesn't seem to like a .bss section, so we stick
  38. it all into .data: */
  39. *(.sbss)
  40. *(.scommon)
  41. *(.dynbss)
  42. *(.bss)
  43. *(COMMON)
  44. *(.rel.local)
  45. }
  46. .note.gnu.build-id : { *(.note.gnu.build-id) }
  47. . = ALIGN(4096);
  48. .dynamic : { *(.dynamic) }
  49. . = ALIGN(4096);
  50. .rela :
  51. {
  52. *(.rela.data*)
  53. *(.rela.got)
  54. *(.rela.stab)
  55. }
  56. _edata = .;
  57. _data_size = . - _etext;
  58. . = ALIGN(4096);
  59. .dynsym : { *(.dynsym) }
  60. . = ALIGN(4096);
  61. .dynstr : { *(.dynstr) }
  62. . = ALIGN(4096);
  63. .ignored.reloc :
  64. {
  65. *(.rela.reloc)
  66. }
  67. }