123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- SECTION_PROLOGUE(initlevel,,)
- {
-
- __init_start = .;
- CREATE_OBJ_LEVEL(init, PRE_KERNEL_1)
- CREATE_OBJ_LEVEL(init, PRE_KERNEL_2)
- CREATE_OBJ_LEVEL(init, POST_KERNEL)
- CREATE_OBJ_LEVEL(init, APPLICATION)
- CREATE_OBJ_LEVEL(init, SMP)
- CREATE_OBJ_LEVEL(init, POWER_MAX)
- __init_end = .;
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- SECTION_PROLOGUE(devices,,)
- {
-
- __device_start = .;
- CREATE_OBJ_LEVEL(device, PRE_KERNEL_1)
- CREATE_OBJ_LEVEL(device, PRE_KERNEL_2)
- CREATE_OBJ_LEVEL(device, POST_KERNEL)
- CREATE_OBJ_LEVEL(device, APPLICATION)
- CREATE_OBJ_LEVEL(device, SMP)
- CREATE_OBJ_LEVEL(device, POWER_MAX)
- __device_end = .;
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- #if defined(CONFIG_GEN_SW_ISR_TABLE) && !defined(CONFIG_DYNAMIC_INTERRUPTS)
- SECTION_PROLOGUE(sw_isr_table,,)
- {
-
- . = ALIGN(CONFIG_ARCH_SW_ISR_TABLE_ALIGN);
- *(_SW_ISR_TABLE_SECTION_SYMS)
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- #endif
-
- SECTION_PROLOGUE(initlevel_error,,)
- {
- KEEP(*(SORT(.z_init_[_A-Z0-9]*)))
- }
- ASSERT(SIZEOF(initlevel_error) == 0, "Undefined initialization levels used.")
- #ifdef CONFIG_CPP_STATIC_INIT_GNU
- SECTION_PROLOGUE(_CTOR_SECTION_NAME,,)
- {
-
- #ifdef CONFIG_64BIT
- . = ALIGN(8);
- __CTOR_LIST__ = .;
- QUAD((__CTOR_END__ - __CTOR_LIST__) / 8 - 2)
- KEEP(*(SORT_BY_NAME(".ctors*")))
- QUAD(0)
- __CTOR_END__ = .;
- #else
- . = ALIGN(4);
- __CTOR_LIST__ = .;
- LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
- KEEP(*(SORT_BY_NAME(".ctors*")))
- LONG(0)
- __CTOR_END__ = .;
- #endif
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- SECTION_PROLOGUE(init_array,,)
- {
- . = ALIGN(4);
- __init_array_start = .;
- KEEP(*(SORT_BY_NAME(".init_array*")))
- __init_array_end = .;
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- #endif
- #ifdef CONFIG_USERSPACE
-
- ITERABLE_SECTION_ROM(z_object_assignment, 4)
- #endif
- SECTION_DATA_PROLOGUE(app_shmem_regions,,)
- {
- __app_shmem_regions_start = .;
- KEEP(*(SORT(.app_regions.*)));
- __app_shmem_regions_end = .;
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- #if defined(CONFIG_NET_SOCKETS)
- ITERABLE_SECTION_ROM(net_socket_register, 4)
- #endif
- #if defined(CONFIG_NET_L2_PPP)
- ITERABLE_SECTION_ROM(ppp_protocol_handler, 4)
- #endif
- ITERABLE_SECTION_ROM(bt_l2cap_fixed_chan, 4)
- #if defined(CONFIG_BT_BREDR)
- ITERABLE_SECTION_ROM(bt_l2cap_br_fixed_chan, 4)
- #endif
- #if defined(CONFIG_BT_CONN)
- ITERABLE_SECTION_ROM(bt_conn_cb, 4)
- #endif
- ITERABLE_SECTION_ROM(bt_gatt_service_static, 4)
- #if defined(CONFIG_BT_MESH)
- ITERABLE_SECTION_ROM(bt_mesh_subnet_cb, 4)
- ITERABLE_SECTION_ROM(bt_mesh_app_key_cb, 4)
- ITERABLE_SECTION_ROM(bt_mesh_hb_cb, 4)
- #endif
- #if defined(CONFIG_BT_MESH_FRIEND)
- ITERABLE_SECTION_ROM(bt_mesh_friend_cb, 4)
- #endif
- #if defined(CONFIG_BT_MESH_LOW_POWER)
- ITERABLE_SECTION_ROM(bt_mesh_lpn_cb, 4)
- #endif
- #if defined(CONFIG_BT_MESH_GATT_PROXY)
- ITERABLE_SECTION_ROM(bt_mesh_proxy_cb, 4)
- #endif
- #if defined(CONFIG_EC_HOST_CMD)
- ITERABLE_SECTION_ROM(ec_host_cmd_handler, 4)
- #endif
- #if defined(CONFIG_SETTINGS)
- ITERABLE_SECTION_ROM(settings_handler_static, 4)
- #endif
- ITERABLE_SECTION_ROM(k_p4wq_initparam, 4)
- #if defined(CONFIG_EMUL)
- SECTION_DATA_PROLOGUE(emulators_section,,)
- {
- __emul_list_start = .;
- KEEP(*(SORT_BY_NAME(".emulators")));
- __emul_list_end = .;
- } GROUP_LINK_IN(ROMABLE_REGION)
- #endif
- #if defined(CONFIG_DNS_SD)
- ITERABLE_SECTION_ROM(dns_sd_rec, 4)
- #endif
- #if defined(CONFIG_PCIE)
- SECTION_DATA_PROLOGUE(irq_alloc,,)
- {
- __irq_alloc_start = .;
- KEEP(*(SORT_BY_NAME("._irq_alloc*")));
- __irq_alloc_end = .;
- } GROUP_LINK_IN(ROMABLE_REGION)
- #endif
- SECTION_DATA_PROLOGUE(log_strings_sections,,)
- {
- __log_strings_start = .;
- KEEP(*(SORT(.log_strings*)));
- __log_strings_end = .;
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- SECTION_DATA_PROLOGUE(log_const_sections,,)
- {
- __log_const_start = .;
- KEEP(*(SORT(.log_const_*)));
- __log_const_end = .;
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- SECTION_DATA_PROLOGUE(log_backends_sections,,)
- {
- __log_backends_start = .;
- KEEP(*("._log_backend.*"));
- __log_backends_end = .;
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- ITERABLE_SECTION_ROM(shell, 4)
- SECTION_DATA_PROLOGUE(shell_root_cmds_sections,,)
- {
- __shell_root_cmds_start = .;
- KEEP(*(SORT(.shell_root_cmd_*)));
- __shell_root_cmds_end = .;
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- SECTION_DATA_PROLOGUE(font_entry_sections,,)
- {
- __font_entry_start = .;
- KEEP(*(SORT_BY_NAME("._cfb_font.*")))
- __font_entry_end = .;
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- ITERABLE_SECTION_ROM(tracing_backend, 4)
- SECTION_DATA_PROLOGUE(zephyr_dbg_info,,)
- {
- KEEP(*(".dbg_thread_info"));
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- SECTION_DATA_PROLOGUE(device_handles,,)
- {
- __device_handles_start = .;
- #ifdef LINKER_ZEPHYR_FINAL
- KEEP(*(SORT(.__device_handles_pass2*)));
- #else
- KEEP(*(SORT(.__device_handles_pass1*)));
- #endif
- __device_handles_end = .;
- } GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
|