preLinkCmds 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. /* memory-config builder in ACoreIDE by qxbin*/
  2. /*21 Nov 2024 15:59:58 GMT*/
  3. ENTRY(_start)
  4. SECTIONS {
  5. _code_start = . ;
  6. .text BLOCK(0x00001000) :
  7. {
  8. .__start_code = .;
  9. *(.__start);
  10. . = .__start_code + 0x20;
  11. *(.__ImageInfo);
  12. CREATE_OBJECT_SYMBOLS;
  13. CREATE_OBJECT_SYMBOLS *( .text* ) ;
  14. *(.m_hdr) ;
  15. __EH_FRAME_BEGIN__ = .;
  16. *(.eh_frame) ;
  17. *(.gnu.linkonce.t*) ;
  18. . = ALIGN(4);
  19. ___CTOR_LIST__ = .;
  20. __CTOR_LIST__ = .;
  21. LONG (-1);
  22. *(.ctors);
  23. *(.ctor);
  24. LONG (0);
  25. __CTOR_END__ = .;
  26. ___DTOR_LIST__ = .;
  27. __DTOR_LIST__ = .;
  28. LONG (-1);
  29. *(.dtors);
  30. *(.dtor);
  31. LONG (0);
  32. __DTOR_END__ = .;
  33. *(.gnu.linkonce.r*);
  34. *(.glue_7) ;
  35. *(.glue_7t);
  36. *(.init_begin);
  37. *(.init);
  38. *(.init_end);
  39. *(.fini);
  40. *(.jcr);
  41. *(.fixup);
  42. *(.interface);
  43. . = ALIGN(0x1000);
  44. ;
  45. }
  46. _code_end = . ;
  47. _code_size = SIZEOF(.text);
  48. _data_start = . ;
  49. .data BLOCK(0x00001000) :
  50. {
  51. *(.data*);
  52. *(.data.rel.local);
  53. *(.gnu.linkonce.d*);
  54. *(.sdata*);
  55. *(.ARM.extab*);
  56. *(.tm_clone_table*);
  57. *(.gcc_except_table*);
  58. *(.igot*);
  59. *(.got*);
  60. __GOT_END__ = .;
  61. __INIT_ARRAY_LIST__ = .;
  62. *(.init_array);
  63. LONG (0);
  64. __FINI_ARRAY_LIST__ = .;
  65. *(.fini_array);
  66. LONG (0);
  67. . = ALIGN(0x1000);
  68. ;
  69. }
  70. _data_end = . ;
  71. _data_size = SIZEOF(.data);
  72. _rodata_start = . ;
  73. .rodata BLOCK(0x00001000) :
  74. {
  75. *(.rodata);
  76. *(.rodata*);
  77. . = ALIGN(0x1000);
  78. }
  79. _rodata_end = . ;
  80. _rodata_size = SIZEOF(.rodata);
  81. __exidx_start = . ;
  82. .pdata BLOCK(0x00001000) :
  83. {
  84. *(.ARM.exidx* .gnu.linkonce.armexidx.*) ;
  85. ;
  86. }
  87. __exidx_end = . ;
  88. __exidx_size = SIZEOF(.pdata);
  89. _bss_start = . ;
  90. .bss BLOCK(0x00001000) :
  91. {
  92. *(.bss*);
  93. *(COMMON);
  94. *(.sbss);
  95. . = ALIGN(16);
  96. }
  97. _bss_end = . ;
  98. _bss_size = SIZEOF(.bss);
  99. }
  100. load__code_start =( 0x00001000-1 )&~(0x00001000 -1 );
  101. load__data_start =( load__code_start + _code_size + ( 0x00001000 -1 ))&~(0x00001000 -1 );
  102. load__rodata_start =( load__data_start + _data_size + ( 0x00001000 -1 ))&~(0x00001000 -1 );
  103. load___exidx_start =( load__rodata_start + _rodata_size + ( 0x00001000 -1 ))&~(0x00001000 -1 );
  104. load__bss_start =( load___exidx_start + __exidx_size + ( 0x00001000 -1 ))&~(0x00001000 -1 );