mirror of
https://github.com/apache/nuttx.git
synced 2026-06-04 23:03:27 +08:00
arch: Change the linker generated symbols from uint32_t to uint8_t *
and remove the duplicated declaration Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
committed by
Petro Karashchenko
parent
95fe8426ed
commit
70290b6e38
@@ -50,25 +50,15 @@
|
||||
* Public Data
|
||||
****************************************************************************/
|
||||
|
||||
/* These 'addresses' of these values are setup by the linker script.
|
||||
* They are not actual uint32_t storage locations!
|
||||
* They are only used meaningfully in the following way:
|
||||
*
|
||||
* - The linker script defines, for example, the symbol_sdata.
|
||||
* - The declaration extern uint32_t _sdata; makes C happy. C will believe
|
||||
* that the value _sdata is the address of a uint32_t variable _data (it
|
||||
* is not!).
|
||||
* - We can recover the linker value then by simply taking the address of
|
||||
* of _data. like: uint32_t *pdata = &_sdata;
|
||||
*/
|
||||
/* These 'addresses' of these values are setup by the linker script. */
|
||||
|
||||
extern uint32_t _stext; /* Start of .text */
|
||||
extern uint32_t _etext; /* End_1 of .text + .rodata */
|
||||
extern const uint32_t _eronly; /* End+1 of read only section (.text + .rodata) */
|
||||
extern uint32_t _sdata; /* Start of .data */
|
||||
extern uint32_t _edata; /* End+1 of .data */
|
||||
extern uint32_t _sbss; /* Start of .bss */
|
||||
extern uint32_t _ebss; /* End+1 of .bss */
|
||||
extern uint8_t _stext[]; /* Start of .text */
|
||||
extern uint8_t _etext[]; /* End_1 of .text + .rodata */
|
||||
extern const uint8_t _eronly[]; /* End+1 of read only section (.text + .rodata) */
|
||||
extern uint8_t _sdata[]; /* Start of .data */
|
||||
extern uint8_t _edata[]; /* End+1 of .data */
|
||||
extern uint8_t _sbss[]; /* Start of .bss */
|
||||
extern uint8_t _ebss[]; /* End+1 of .bss */
|
||||
|
||||
/* This is the user space entry point */
|
||||
|
||||
@@ -79,13 +69,13 @@ const struct userspace_s userspace locate_data(".userspace") =
|
||||
/* General memory map */
|
||||
|
||||
.us_entrypoint = (main_t)CONFIG_INIT_ENTRYPOINT,
|
||||
.us_textstart = (uintptr_t)&_stext,
|
||||
.us_textend = (uintptr_t)&_etext,
|
||||
.us_datasource = (uintptr_t)&_eronly,
|
||||
.us_datastart = (uintptr_t)&_sdata,
|
||||
.us_dataend = (uintptr_t)&_edata,
|
||||
.us_bssstart = (uintptr_t)&_sbss,
|
||||
.us_bssend = (uintptr_t)&_ebss,
|
||||
.us_textstart = (uintptr_t)_stext,
|
||||
.us_textend = (uintptr_t)_etext,
|
||||
.us_datasource = (uintptr_t)_eronly,
|
||||
.us_datastart = (uintptr_t)_sdata,
|
||||
.us_dataend = (uintptr_t)_edata,
|
||||
.us_bssstart = (uintptr_t)_sbss,
|
||||
.us_bssend = (uintptr_t)_ebss,
|
||||
|
||||
/* Memory manager heap structure */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user