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