realmode.lds.S 925 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * realmode.lds.S
  4. *
  5. * Linker script for the real-mode code
  6. */
  7. #include <asm/page_types.h>
  8. #undef i386
  9. OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
  10. OUTPUT_ARCH(i386)
  11. SECTIONS
  12. {
  13. real_mode_seg = 0;
  14. . = 0;
  15. .header : {
  16. pa_real_mode_base = .;
  17. *(.header)
  18. }
  19. . = ALIGN(4);
  20. .rodata : {
  21. *(.rodata)
  22. *(.rodata.*)
  23. . = ALIGN(16);
  24. video_cards = .;
  25. *(.videocards)
  26. video_cards_end = .;
  27. }
  28. . = ALIGN(PAGE_SIZE);
  29. pa_text_start = .;
  30. .text : {
  31. *(.text)
  32. *(.text.*)
  33. }
  34. .text32 : {
  35. *(.text32)
  36. *(.text32.*)
  37. }
  38. .text64 : {
  39. *(.text64)
  40. *(.text64.*)
  41. }
  42. pa_ro_end = .;
  43. . = ALIGN(PAGE_SIZE);
  44. .data : {
  45. *(.data)
  46. *(.data.*)
  47. }
  48. . = ALIGN(128);
  49. .bss : {
  50. *(.bss*)
  51. }
  52. /* End signature for integrity checking */
  53. . = ALIGN(4);
  54. .signature : {
  55. *(.signature)
  56. }
  57. /DISCARD/ : {
  58. *(.note*)
  59. *(.debug*)
  60. *(.eh_frame*)
  61. }
  62. #include "pasyms.h"
  63. }