1/* SPDX-License-Identifier: Apache-2.0 */ 2 3 /* 4 * Save the current address to avoid changing it in this file. 5 */ 6 HIDDEN(__llext_current_addr = .); 7 8 /* 9 * Map the 'no_syscall_impl' symbol in 'syscall_export_llext.c' to 10 * absolute address 0 so other weak symbols are exported as NULL. 11 * This section is used for mapping that symbol only and is not 12 * to be included in the final binary. 13 */ 14 SECTION_PROLOGUE(llext_no_syscall_impl, 0 (COPY), ) 15 { 16 *(llext_no_syscall_impl) 17 } 18 19 /* 20 * Special section used by LLEXT if CONFIG_LLEXT_EXPORT_BUILTINS_BY_SLID 21 * is enabled. Declare this section to prevent it from being considered orphan. 22 * 23 * This section is used to temporarily save the exported symbols' names in the 24 * Zephyr ELF for post-processing, but it is not included in the final binary. 25 * 26 * NOTE: This section MUST start at address 0, as the post-processing scripts 27 * assume that the address of any data in this section (i.e., symbol names) is 28 * strictly equivalent to the offset inside the section. 29 */ 30#ifdef CONFIG_LLEXT_EXPORT_BUILTINS_BY_SLID 31 SECTION_PROLOGUE(llext_exports_strtab, 0 (COPY), ) 32 { 33 KEEP(*(llext_exports_strtab)) 34 } 35#endif 36 37 . = __llext_current_addr; 38