Skip to content

Commit 9494922

Browse files
committed
feat(esp32h21): split newlib ld into multiple files
1 parent 5ef4f20 commit 9494922

File tree

2 files changed

+65
-170
lines changed

2 files changed

+65
-170
lines changed
Lines changed: 61 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,65 @@
11
/*
2-
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
6-
/* ROM function interface esp32h21.rom.libgcc.ld for esp32h21
7-
*
8-
*
9-
* Generated from ./target/esp32h21/interface-esp32h21.yml md5sum dee73289acb146ae14dd9544143527f0
10-
*
11-
* Compatible with ROM where ECO version equal or greater to 0.
12-
*
13-
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
14-
*/
15-
16-
/***************************************
17-
Group libgcc
18-
***************************************/
19-
20-
/* Functions */
21-
__absvdi2 = 0x4000084c;
22-
__absvsi2 = 0x40000850;
23-
__adddf3 = 0x40000854;
24-
__addsf3 = 0x40000858;
25-
__addvdi3 = 0x4000085c;
26-
__addvsi3 = 0x40000860;
27-
__ashldi3 = 0x40000864;
28-
__ashrdi3 = 0x40000868;
29-
__bswapdi2 = 0x4000086c;
30-
__bswapsi2 = 0x40000870;
31-
__clear_cache = 0x40000874;
32-
__clrsbdi2 = 0x40000878;
33-
__clrsbsi2 = 0x4000087c;
34-
__clzdi2 = 0x40000880;
35-
__clzsi2 = 0x40000884;
36-
__cmpdi2 = 0x40000888;
37-
__ctzdi2 = 0x4000088c;
38-
__ctzsi2 = 0x40000890;
39-
__divdc3 = 0x40000894;
40-
__divdf3 = 0x40000898;
41-
__divdi3 = 0x4000089c;
42-
__divsc3 = 0x400008a0;
43-
__divsf3 = 0x400008a4;
44-
__divsi3 = 0x400008a8;
45-
__eqdf2 = 0x400008ac;
46-
__eqsf2 = 0x400008b0;
47-
__extendsfdf2 = 0x400008b4;
48-
__ffsdi2 = 0x400008b8;
49-
__ffssi2 = 0x400008bc;
50-
__fixdfdi = 0x400008c0;
51-
__fixdfsi = 0x400008c4;
52-
__fixsfdi = 0x400008c8;
53-
__fixsfsi = 0x400008cc;
54-
__fixunsdfsi = 0x400008d0;
55-
__fixunssfdi = 0x400008d4;
56-
__fixunssfsi = 0x400008d8;
57-
__floatdidf = 0x400008dc;
58-
__floatdisf = 0x400008e0;
59-
__floatsidf = 0x400008e4;
60-
__floatsisf = 0x400008e8;
61-
__floatundidf = 0x400008ec;
62-
__floatundisf = 0x400008f0;
63-
__floatunsidf = 0x400008f4;
64-
__floatunsisf = 0x400008f8;
65-
__gcc_bcmp = 0x400008fc;
66-
__gedf2 = 0x40000900;
67-
__gesf2 = 0x40000904;
68-
__gtdf2 = 0x40000908;
69-
__gtsf2 = 0x4000090c;
70-
__ledf2 = 0x40000910;
71-
__lesf2 = 0x40000914;
72-
__lshrdi3 = 0x40000918;
73-
__ltdf2 = 0x4000091c;
74-
__ltsf2 = 0x40000920;
75-
__moddi3 = 0x40000924;
76-
__modsi3 = 0x40000928;
77-
__muldc3 = 0x4000092c;
78-
__muldf3 = 0x40000930;
79-
__muldi3 = 0x40000934;
80-
__mulsc3 = 0x40000938;
81-
__mulsf3 = 0x4000093c;
82-
__mulsi3 = 0x40000940;
83-
__mulvdi3 = 0x40000944;
84-
__mulvsi3 = 0x40000948;
85-
__nedf2 = 0x4000094c;
86-
__negdf2 = 0x40000950;
87-
__negdi2 = 0x40000954;
88-
__negsf2 = 0x40000958;
89-
__negvdi2 = 0x4000095c;
90-
__negvsi2 = 0x40000960;
91-
__nesf2 = 0x40000964;
92-
__paritysi2 = 0x40000968;
93-
__popcountdi2 = 0x4000096c;
94-
__popcountsi2 = 0x40000970;
95-
__powidf2 = 0x40000974;
96-
__powisf2 = 0x40000978;
97-
__subdf3 = 0x4000097c;
98-
__subsf3 = 0x40000980;
99-
__subvdi3 = 0x40000984;
100-
__subvsi3 = 0x40000988;
101-
__truncdfsf2 = 0x4000098c;
102-
__ucmpdi2 = 0x40000990;
103-
__udivdi3 = 0x40000994;
104-
__udivmoddi4 = 0x40000998;
105-
__udivsi3 = 0x4000099c;
106-
__udiv_w_sdiv = 0x400009a0;
107-
__umoddi3 = 0x400009a4;
108-
__umodsi3 = 0x400009a8;
109-
__unorddf2 = 0x400009ac;
110-
__unordsf2 = 0x400009b0;
111-
__extenddftf2 = 0x400009b4;
112-
__trunctfdf2 = 0x400009b8;
6+
esp_rom_newlib_init_common_mutexes = 0x40000494;
7+
memset = 0x40000498;
8+
memcpy = 0x4000049c;
9+
memmove = 0x400004a0;
10+
memcmp = 0x400004a4;
11+
strcpy = 0x400004a8;
12+
strncpy = 0x400004ac;
13+
strcmp = 0x400004b0;
14+
strncmp = 0x400004b4;
15+
strlen = 0x400004b8;
16+
strstr = 0x400004bc;
17+
bzero = 0x400004c0;
18+
sbrk = 0x400004c8;
19+
isalnum = 0x400004cc;
20+
isalpha = 0x400004d0;
21+
isascii = 0x400004d4;
22+
isblank = 0x400004d8;
23+
iscntrl = 0x400004dc;
24+
isdigit = 0x400004e0;
25+
islower = 0x400004e4;
26+
isgraph = 0x400004e8;
27+
isprint = 0x400004ec;
28+
ispunct = 0x400004f0;
29+
isspace = 0x400004f4;
30+
isupper = 0x400004f8;
31+
toupper = 0x400004fc;
32+
tolower = 0x40000500;
33+
toascii = 0x40000504;
34+
memccpy = 0x40000508;
35+
memchr = 0x4000050c;
36+
memrchr = 0x40000510;
37+
strcasecmp = 0x40000514;
38+
strcasestr = 0x40000518;
39+
strcat = 0x4000051c;
40+
strchr = 0x40000524;
41+
strcspn = 0x40000528;
42+
strcoll = 0x4000052c;
43+
strlcat = 0x40000530;
44+
strlcpy = 0x40000534;
45+
strlwr = 0x40000538;
46+
strncasecmp = 0x4000053c;
47+
strncat = 0x40000540;
48+
strnlen = 0x40000548;
49+
strrchr = 0x4000054c;
50+
strsep = 0x40000550;
51+
strspn = 0x40000554;
52+
strtok_r = 0x40000558;
53+
strupr = 0x4000055c;
54+
longjmp = 0x40000560;
55+
setjmp = 0x40000564;
56+
abs = 0x40000568;
57+
div = 0x4000056c;
58+
labs = 0x40000570;
59+
ldiv = 0x40000574;
60+
qsort = 0x40000578;
61+
utoa = 0x40000588;
62+
itoa = 0x4000058c;
63+
/* Data (.data, .bss, .rodata) */
64+
syscall_table_ptr = 0x4084ffd4;
65+
_global_impure_ptr = 0x4084ffd0;
Lines changed: 4 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -10,77 +10,22 @@
1010
*
1111
* Compatible with ROM where ECO version equal or greater to 0.
1212
*
13-
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
13+
* THIS FILE WAS AUTOMATICALLY GENERATED. !!! BUT EDITED !!!
14+
* The file was originally generated for use with newlib, but it was split into
15+
* multiple files to make it compatible with picolibc.
1416
*/
1517

1618
/***************************************
1719
Group newlib
1820
***************************************/
1921

2022
/* Functions */
21-
esp_rom_newlib_init_common_mutexes = 0x40000494;
22-
memset = 0x40000498;
23-
memcpy = 0x4000049c;
24-
memmove = 0x400004a0;
25-
memcmp = 0x400004a4;
26-
strcpy = 0x400004a8;
27-
strncpy = 0x400004ac;
28-
strcmp = 0x400004b0;
29-
strncmp = 0x400004b4;
30-
strlen = 0x400004b8;
31-
strstr = 0x400004bc;
32-
bzero = 0x400004c0;
3323
_isatty_r = 0x400004c4;
34-
sbrk = 0x400004c8;
35-
isalnum = 0x400004cc;
36-
isalpha = 0x400004d0;
37-
isascii = 0x400004d4;
38-
isblank = 0x400004d8;
39-
iscntrl = 0x400004dc;
40-
isdigit = 0x400004e0;
41-
islower = 0x400004e4;
42-
isgraph = 0x400004e8;
43-
isprint = 0x400004ec;
44-
ispunct = 0x400004f0;
45-
isspace = 0x400004f4;
46-
isupper = 0x400004f8;
47-
toupper = 0x400004fc;
48-
tolower = 0x40000500;
49-
toascii = 0x40000504;
50-
memccpy = 0x40000508;
51-
memchr = 0x4000050c;
52-
memrchr = 0x40000510;
53-
strcasecmp = 0x40000514;
54-
strcasestr = 0x40000518;
55-
strcat = 0x4000051c;
5624
strdup = 0x40000520;
57-
strchr = 0x40000524;
58-
strcspn = 0x40000528;
59-
strcoll = 0x4000052c;
60-
strlcat = 0x40000530;
61-
strlcpy = 0x40000534;
62-
strlwr = 0x40000538;
63-
strncasecmp = 0x4000053c;
64-
strncat = 0x40000540;
6525
strndup = 0x40000544;
66-
strnlen = 0x40000548;
67-
strrchr = 0x4000054c;
68-
strsep = 0x40000550;
69-
strspn = 0x40000554;
70-
strtok_r = 0x40000558;
71-
strupr = 0x4000055c;
72-
longjmp = 0x40000560;
73-
setjmp = 0x40000564;
74-
abs = 0x40000568;
75-
div = 0x4000056c;
76-
labs = 0x40000570;
77-
ldiv = 0x40000574;
78-
qsort = 0x40000578;
7926
rand_r = 0x4000057c;
8027
rand = 0x40000580;
8128
srand = 0x40000584;
82-
utoa = 0x40000588;
83-
itoa = 0x4000058c;
8429
atoi = 0x40000590;
8530
atol = 0x40000594;
8631
strtol = 0x40000598;
@@ -94,6 +39,3 @@ __swhatbuf_r = 0x400005b4;
9439
__swbuf_r = 0x400005b8;
9540
__swbuf = 0x400005bc;
9641
__swsetup_r = 0x400005c0;
97-
/* Data (.data, .bss, .rodata) */
98-
syscall_table_ptr = 0x4084ffd4;
99-
_global_impure_ptr = 0x4084ffd0;

0 commit comments

Comments
 (0)