feat(esp32h21): split newlib ld into multiple files

This commit is contained in:
gaoxu
2025-01-22 16:04:15 +08:00
parent 5ef4f20778
commit 9494922397
2 changed files with 65 additions and 170 deletions

View File

@@ -1,112 +1,65 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* ROM function interface esp32h21.rom.libgcc.ld for esp32h21
*
*
* Generated from ./target/esp32h21/interface-esp32h21.yml md5sum dee73289acb146ae14dd9544143527f0
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
*/
/***************************************
Group libgcc
***************************************/
/* Functions */
__absvdi2 = 0x4000084c;
__absvsi2 = 0x40000850;
__adddf3 = 0x40000854;
__addsf3 = 0x40000858;
__addvdi3 = 0x4000085c;
__addvsi3 = 0x40000860;
__ashldi3 = 0x40000864;
__ashrdi3 = 0x40000868;
__bswapdi2 = 0x4000086c;
__bswapsi2 = 0x40000870;
__clear_cache = 0x40000874;
__clrsbdi2 = 0x40000878;
__clrsbsi2 = 0x4000087c;
__clzdi2 = 0x40000880;
__clzsi2 = 0x40000884;
__cmpdi2 = 0x40000888;
__ctzdi2 = 0x4000088c;
__ctzsi2 = 0x40000890;
__divdc3 = 0x40000894;
__divdf3 = 0x40000898;
__divdi3 = 0x4000089c;
__divsc3 = 0x400008a0;
__divsf3 = 0x400008a4;
__divsi3 = 0x400008a8;
__eqdf2 = 0x400008ac;
__eqsf2 = 0x400008b0;
__extendsfdf2 = 0x400008b4;
__ffsdi2 = 0x400008b8;
__ffssi2 = 0x400008bc;
__fixdfdi = 0x400008c0;
__fixdfsi = 0x400008c4;
__fixsfdi = 0x400008c8;
__fixsfsi = 0x400008cc;
__fixunsdfsi = 0x400008d0;
__fixunssfdi = 0x400008d4;
__fixunssfsi = 0x400008d8;
__floatdidf = 0x400008dc;
__floatdisf = 0x400008e0;
__floatsidf = 0x400008e4;
__floatsisf = 0x400008e8;
__floatundidf = 0x400008ec;
__floatundisf = 0x400008f0;
__floatunsidf = 0x400008f4;
__floatunsisf = 0x400008f8;
__gcc_bcmp = 0x400008fc;
__gedf2 = 0x40000900;
__gesf2 = 0x40000904;
__gtdf2 = 0x40000908;
__gtsf2 = 0x4000090c;
__ledf2 = 0x40000910;
__lesf2 = 0x40000914;
__lshrdi3 = 0x40000918;
__ltdf2 = 0x4000091c;
__ltsf2 = 0x40000920;
__moddi3 = 0x40000924;
__modsi3 = 0x40000928;
__muldc3 = 0x4000092c;
__muldf3 = 0x40000930;
__muldi3 = 0x40000934;
__mulsc3 = 0x40000938;
__mulsf3 = 0x4000093c;
__mulsi3 = 0x40000940;
__mulvdi3 = 0x40000944;
__mulvsi3 = 0x40000948;
__nedf2 = 0x4000094c;
__negdf2 = 0x40000950;
__negdi2 = 0x40000954;
__negsf2 = 0x40000958;
__negvdi2 = 0x4000095c;
__negvsi2 = 0x40000960;
__nesf2 = 0x40000964;
__paritysi2 = 0x40000968;
__popcountdi2 = 0x4000096c;
__popcountsi2 = 0x40000970;
__powidf2 = 0x40000974;
__powisf2 = 0x40000978;
__subdf3 = 0x4000097c;
__subsf3 = 0x40000980;
__subvdi3 = 0x40000984;
__subvsi3 = 0x40000988;
__truncdfsf2 = 0x4000098c;
__ucmpdi2 = 0x40000990;
__udivdi3 = 0x40000994;
__udivmoddi4 = 0x40000998;
__udivsi3 = 0x4000099c;
__udiv_w_sdiv = 0x400009a0;
__umoddi3 = 0x400009a4;
__umodsi3 = 0x400009a8;
__unorddf2 = 0x400009ac;
__unordsf2 = 0x400009b0;
__extenddftf2 = 0x400009b4;
__trunctfdf2 = 0x400009b8;
esp_rom_newlib_init_common_mutexes = 0x40000494;
memset = 0x40000498;
memcpy = 0x4000049c;
memmove = 0x400004a0;
memcmp = 0x400004a4;
strcpy = 0x400004a8;
strncpy = 0x400004ac;
strcmp = 0x400004b0;
strncmp = 0x400004b4;
strlen = 0x400004b8;
strstr = 0x400004bc;
bzero = 0x400004c0;
sbrk = 0x400004c8;
isalnum = 0x400004cc;
isalpha = 0x400004d0;
isascii = 0x400004d4;
isblank = 0x400004d8;
iscntrl = 0x400004dc;
isdigit = 0x400004e0;
islower = 0x400004e4;
isgraph = 0x400004e8;
isprint = 0x400004ec;
ispunct = 0x400004f0;
isspace = 0x400004f4;
isupper = 0x400004f8;
toupper = 0x400004fc;
tolower = 0x40000500;
toascii = 0x40000504;
memccpy = 0x40000508;
memchr = 0x4000050c;
memrchr = 0x40000510;
strcasecmp = 0x40000514;
strcasestr = 0x40000518;
strcat = 0x4000051c;
strchr = 0x40000524;
strcspn = 0x40000528;
strcoll = 0x4000052c;
strlcat = 0x40000530;
strlcpy = 0x40000534;
strlwr = 0x40000538;
strncasecmp = 0x4000053c;
strncat = 0x40000540;
strnlen = 0x40000548;
strrchr = 0x4000054c;
strsep = 0x40000550;
strspn = 0x40000554;
strtok_r = 0x40000558;
strupr = 0x4000055c;
longjmp = 0x40000560;
setjmp = 0x40000564;
abs = 0x40000568;
div = 0x4000056c;
labs = 0x40000570;
ldiv = 0x40000574;
qsort = 0x40000578;
utoa = 0x40000588;
itoa = 0x4000058c;
/* Data (.data, .bss, .rodata) */
syscall_table_ptr = 0x4084ffd4;
_global_impure_ptr = 0x4084ffd0;

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -10,7 +10,9 @@
*
* Compatible with ROM where ECO version equal or greater to 0.
*
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
* THIS FILE WAS AUTOMATICALLY GENERATED. !!! BUT EDITED !!!
* The file was originally generated for use with newlib, but it was split into
* multiple files to make it compatible with picolibc.
*/
/***************************************
@@ -18,69 +20,12 @@
***************************************/
/* Functions */
esp_rom_newlib_init_common_mutexes = 0x40000494;
memset = 0x40000498;
memcpy = 0x4000049c;
memmove = 0x400004a0;
memcmp = 0x400004a4;
strcpy = 0x400004a8;
strncpy = 0x400004ac;
strcmp = 0x400004b0;
strncmp = 0x400004b4;
strlen = 0x400004b8;
strstr = 0x400004bc;
bzero = 0x400004c0;
_isatty_r = 0x400004c4;
sbrk = 0x400004c8;
isalnum = 0x400004cc;
isalpha = 0x400004d0;
isascii = 0x400004d4;
isblank = 0x400004d8;
iscntrl = 0x400004dc;
isdigit = 0x400004e0;
islower = 0x400004e4;
isgraph = 0x400004e8;
isprint = 0x400004ec;
ispunct = 0x400004f0;
isspace = 0x400004f4;
isupper = 0x400004f8;
toupper = 0x400004fc;
tolower = 0x40000500;
toascii = 0x40000504;
memccpy = 0x40000508;
memchr = 0x4000050c;
memrchr = 0x40000510;
strcasecmp = 0x40000514;
strcasestr = 0x40000518;
strcat = 0x4000051c;
strdup = 0x40000520;
strchr = 0x40000524;
strcspn = 0x40000528;
strcoll = 0x4000052c;
strlcat = 0x40000530;
strlcpy = 0x40000534;
strlwr = 0x40000538;
strncasecmp = 0x4000053c;
strncat = 0x40000540;
strndup = 0x40000544;
strnlen = 0x40000548;
strrchr = 0x4000054c;
strsep = 0x40000550;
strspn = 0x40000554;
strtok_r = 0x40000558;
strupr = 0x4000055c;
longjmp = 0x40000560;
setjmp = 0x40000564;
abs = 0x40000568;
div = 0x4000056c;
labs = 0x40000570;
ldiv = 0x40000574;
qsort = 0x40000578;
rand_r = 0x4000057c;
rand = 0x40000580;
srand = 0x40000584;
utoa = 0x40000588;
itoa = 0x4000058c;
atoi = 0x40000590;
atol = 0x40000594;
strtol = 0x40000598;
@@ -94,6 +39,3 @@ __swhatbuf_r = 0x400005b4;
__swbuf_r = 0x400005b8;
__swbuf = 0x400005bc;
__swsetup_r = 0x400005c0;
/* Data (.data, .bss, .rodata) */
syscall_table_ptr = 0x4084ffd4;
_global_impure_ptr = 0x4084ffd0;