fw_base.ldS 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. *(.data)
  39. *(.data.*)
  40. *(.readmostly.data)
  41. *(*.data)
  42. . = ALIGN(8);
  43. PROVIDE(_data_end = .);
  44. }
  45. . = ALIGN(0x1000); /* Ensure next section is page aligned */
  46. .bss :
  47. {
  48. PROVIDE(_bss_start = .);
  49. *(.bss)
  50. *(.bss.*)
  51. . = ALIGN(8);
  52. PROVIDE(_bss_end = .);
  53. }
  54. /* End of the read-write data sections */
  55. . = ALIGN(0x1000); /* Need this to create proper sections */
  56. PROVIDE(_fw_end = .);