fw_base.ldS 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * SPDX-License-Identifier: BSD-2-Clause
  3. *
  4. * Copyright (c) 2019 Western Digital Corporation or its affiliates.
  5. *
  6. * Authors:
  7. * Anup Patel <anup.patel@wdc.com>
  8. */
  9. . = FW_TEXT_START;
  10. PROVIDE(_fw_start = .);
  11. . = ALIGN(0x1000); /* Need this to create proper sections */
  12. /* Beginning of the code section */
  13. .text :
  14. {
  15. PROVIDE(_text_start = .);
  16. *(.entry)
  17. *(.text)
  18. . = ALIGN(8);
  19. PROVIDE(_text_end = .);
  20. }
  21. . = ALIGN(0x1000); /* Ensure next section is page aligned */
  22. /* End of the code sections */
  23. /* Beginning of the read-only data sections */
  24. . = ALIGN(0x1000); /* Ensure next section is page aligned */
  25. .rodata :
  26. {
  27. PROVIDE(_rodata_start = .);
  28. *(.rodata .rodata.*)
  29. . = ALIGN(8);
  30. PROVIDE(_rodata_end = .);
  31. }
  32. /* End of the read-only data sections */
  33. /* Beginning of the read-write data sections */
  34. . = ALIGN(0x1000); /* Ensure next section is page aligned */
  35. .data :
  36. {
  37. PROVIDE(_data_start = .);
  38. *(.sdata)
  39. *(.sdata.*)
  40. *(.data)
  41. *(.data.*)
  42. *(.readmostly.data)
  43. *(*.data)
  44. . = ALIGN(8);
  45. PROVIDE(_data_end = .);
  46. }
  47. . = ALIGN(0x1000); /* Ensure next section is page aligned */
  48. .bss :
  49. {
  50. PROVIDE(_bss_start = .);
  51. *(.sbss)
  52. *(.sbss.*)
  53. *(.bss)
  54. *(.bss.*)
  55. . = ALIGN(8);
  56. PROVIDE(_bss_end = .);
  57. }
  58. /* End of the read-write data sections */
  59. . = ALIGN(0x1000); /* Need this to create proper sections */
  60. PROVIDE(_fw_end = .);