1/**
2 * These are the newlib functions present in ESP32-S2 ROM.
3 * See also esp32s2.rom.newlib-data.ld for the list of .data/.bss symbols used by these functions.
4
5 * Unlike other ROM functions which are exported using PROVIDE, which declare weak symbols,
6 * newlib related functions are exported using assignment, which declares strong symbols.
7 * This is done so that ROM functions are always used instead of the ones provided by libc.a.
8 */
9
10abs = 0x40000618;
11bzero = 0x400078c8;
12creat = 0x4000788c;
13div = 0x40000620;
14fclose = 0x4001a804;
15fflush = 0x40001bb8;
16fputwc = 0x40001864;
17isalnum = 0x400078d8;
18isalpha = 0x400078e8;
19isascii = 0x4001aaec;
20isblank = 0x400078f8;
21iscntrl = 0x40007918;
22isdigit = 0x40007930;
23isgraph = 0x40007968;
24islower = 0x40007948;
25isprint = 0x40007980;
26ispunct = 0x40007994;
27isspace = 0x400079ac;
28isupper = 0x400079c4;
29labs = 0x40000648;
30ldiv = 0x40000650;
31longjmp = 0x400005a4;
32memccpy = 0x4001ab00;
33memchr = 0x4001ab24;
34memcmp = 0x4001ab40;
35memcpy = 0x4001aba8;
36memmove = 0x4001acb0;
37memrchr = 0x4001acec;
38memset = 0x4001ad3c;
39open = 0x400080c4;
40qsort = 0x400006f4;
41setjmp = 0x40000540;
42setlocale = 0x40001c44;
43strcasecmp = 0x40007b38;
44strcasestr = 0x40007b7c;
45strcat = 0x4001ad90;
46strchr = 0x4001adb0;
47strcmp = 0x40007be4;
48strcoll = 0x40007ce8;
49strcpy = 0x40007cfc;
50strcspn = 0x4001adcc;
51strlcat = 0x40007db8;
52strlcpy = 0x4001adf8;
53strlen = 0x40007e08;
54strlwr = 0x40007e68;
55strncasecmp = 0x40007e94;
56strncat = 0x4001ae34;
57strncmp = 0x4001ae64;
58strncpy = 0x40007f20;
59strnlen = 0x4001ae9c;
60strrchr = 0x40008040;
61strsep = 0x4000806c;
62strspn = 0x4001aebc;
63strstr = 0x4001aee8;
64strtok_r = 0x4001af7c;
65strupr = 0x40008084;
66toascii = 0x4001af90;
67tolower = 0x40008158;
68toupper = 0x40008174;
69wcrtomb = 0x400012f4;
70
71/* ZEPHYR: Keep PROVIDE for these symbols: */
72PROVIDE ( rand_r = 0x40007af4 );
73PROVIDE ( srand = 0x40007a24 );
74PROVIDE ( strdup = 0x40007d84 );
75PROVIDE ( _strdup_r = 0x40007d98 );
76PROVIDE ( strndup = 0x40007fe8 );
77PROVIDE ( _strndup_r = 0x40007ffc );
78PROVIDE ( __ascii_mbtowc = 0x40007a04 );
79PROVIDE ( __ascii_wctomb = 0x400018d0 );
80PROVIDE ( __assert = 0x4001a430 );
81PROVIDE ( __assert_func = 0x4001a408 );
82PROVIDE ( _cleanup_r = 0x4001a480 );
83PROVIDE ( _fclose_r = 0x4001a714 );
84PROVIDE ( _fflush_r = 0x40001b30 );
85PROVIDE ( __fp_unlock_all = 0x4001a64c );
86PROVIDE ( __fputwc = 0x40001770 );
87PROVIDE ( _fputwc_r = 0x400017f8 );
88PROVIDE ( _fwalk = 0x4001bcec );
89PROVIDE ( _fwalk_reent = 0x4001bd24 );
90PROVIDE ( __locale_ctype_ptr = 0x40001c2c );
91PROVIDE ( __locale_ctype_ptr_l = 0x40001c24 );
92PROVIDE ( __locale_mb_cur_max = 0x40001c0c );
93PROVIDE ( _mbtowc_r = 0x400079e0 );
94PROVIDE ( __sclose = 0x4001a700 );
95PROVIDE ( __seofread = 0x4001a690 );
96PROVIDE ( _setlocale_r = 0x40001bdc );
97PROVIDE ( __sflush_r = 0x400019dc );
98PROVIDE ( __sfmoreglue = 0x4001a4c8 );
99PROVIDE ( __sfp = 0x4001a590 );
100PROVIDE ( __sfp_lock_acquire = 0x4001a508 );
101PROVIDE ( __sfp_lock_release = 0x4001a514 );
102PROVIDE ( __sinit = 0x4001a538 );
103PROVIDE ( __sinit_lock_acquire = 0x4001a520 );
104PROVIDE ( __sinit_lock_release = 0x4001a52c );
105PROVIDE ( __sread = 0x4001a660 );
106PROVIDE ( __sseek = 0x4001a6cc );
107PROVIDE ( __strtok_r = 0x4001af18 );
108PROVIDE ( __swbuf = 0x4000167c );
109PROVIDE ( __swbuf_r = 0x400015bc );
110PROVIDE ( __swrite = 0x4001a698 );
111PROVIDE ( _wcrtomb_r = 0x400012a0 );
112PROVIDE ( _wctomb_r = 0x400018ac );
113