1/* These are the newlib functions present in ESP32 ROM. 2 They should not be used when compiling with PSRAM cache workaround enabled. 3 See also esp32.rom.newlib-data.ld for the list of .data/.bss symbols 4 used by these functions, and esp32.rom.newlib-nano.ld for "nano" versions 5 of printf/scanf family of functions. 6 7 Unlike other ROM functions which are exported using PROVIDE, which declares 8 weak symbols, newlib related functions are exported using assignment, 9 which declares strong symbols. This is done so that ROM functions are always 10 used instead of the ones provided by libc.a. 11 12 Time functions were moved to the esp32.rom.newlib-time.ld file. 13 */ 14 15abs = 0x40056340; 16__ascii_wctomb = 0x40058ef0; 17atoi = 0x400566c4; 18_atoi_r = 0x400566d4; 19atol = 0x400566ec; 20_atol_r = 0x400566fc; 21bzero = 0x4000c1f4; 22_cleanup = 0x40001df8; 23_cleanup_r = 0x40001d48; 24creat = 0x40000e8c; 25div = 0x40056348; 26__dummy_lock = 0x4000c728; 27__dummy_lock_try = 0x4000c730; 28__env_lock = 0x40001fd4; 29__env_unlock = 0x40001fe0; 30fclose = 0x400020ac; 31_fclose_r = 0x40001fec; 32fflush = 0x40059394; 33_fflush_r = 0x40059320; 34_findenv_r = 0x40001f44; 35__fp_lock_all = 0x40001f1c; 36__fp_unlock_all = 0x40001f30; 37__fputwc = 0x40058da0; 38fputwc = 0x40058ea8; 39_fputwc_r = 0x40058e4c; 40_fwalk = 0x4000c738; 41_fwalk_reent = 0x4000c770; 42_getenv_r = 0x40001fbc; 43isalnum = 0x40000f04; 44isalpha = 0x40000f18; 45isascii = 0x4000c20c; 46_isatty_r = 0x40000ea0; 47isblank = 0x40000f2c; 48iscntrl = 0x40000f50; 49isdigit = 0x40000f64; 50isgraph = 0x40000f94; 51islower = 0x40000f78; 52isprint = 0x40000fa8; 53ispunct = 0x40000fc0; 54isspace = 0x40000fd4; 55isupper = 0x40000fe8; 56__itoa = 0x40056678; 57itoa = 0x400566b4; 58labs = 0x40056370; 59ldiv = 0x40056378; 60longjmp = 0x400562cc; 61memccpy = 0x4000c220; 62memchr = 0x4000c244; 63memcmp = 0x4000c260; 64memcpy = 0x4000c2c8; 65memmove = 0x4000c3c0; 66memrchr = 0x4000c400; 67memset = 0x4000c44c; 68qsort = 0x40056424; 69rand = 0x40001058; 70rand_r = 0x400010d4; 71__sccl = 0x4000c498; 72__sclose = 0x400011b8; 73__seofread = 0x40001148; 74setjmp = 0x40056268; 75__sflush_r = 0x400591e0; 76__sfmoreglue = 0x40001dc8; 77__sfp = 0x40001e90; 78__sfp_lock_acquire = 0x40001e08; 79__sfp_lock_release = 0x40001e14; 80__sfvwrite_r = 0x4005893c; 81__sinit = 0x40001e38; 82__sinit_lock_acquire = 0x40001e20; 83__sinit_lock_release = 0x40001e2c; 84__smakebuf_r = 0x40059108; 85srand = 0x40001004; 86__sread = 0x40001118; 87__srefill_r = 0x400593d4; 88__sseek = 0x40001184; 89strcasecmp = 0x400011cc; 90strcasestr = 0x40001210; 91strcat = 0x4000c518; 92strchr = 0x4000c53c; 93strcmp = 0x40001274; 94strcoll = 0x40001398; 95strcpy = 0x400013ac; 96strcspn = 0x4000c558; 97strdup = 0x4000143c; 98_strdup_r = 0x40001450; 99strlcat = 0x40001470; 100strlcpy = 0x4000c584; 101strlen = 0x400014c0; 102strlwr = 0x40001524; 103strncasecmp = 0x40001550; 104strncat = 0x4000c5c4; 105strncmp = 0x4000c5f4; 106strncpy = 0x400015d4; 107strndup = 0x400016b0; 108_strndup_r = 0x400016c4; 109strnlen = 0x4000c628; 110strrchr = 0x40001708; 111strsep = 0x40001734; 112strspn = 0x4000c648; 113strstr = 0x4000c674; 114__strtok_r = 0x4000c6a8; 115strtok_r = 0x4000c70c; 116strtol = 0x4005681c; 117_strtol_r = 0x40056714; 118strtoul = 0x4005692c; 119_strtoul_r = 0x40056834; 120strupr = 0x4000174c; 121__submore = 0x40058f3c; 122__swbuf = 0x40058cb4; 123__swbuf_r = 0x40058bec; 124__swrite = 0x40001150; 125__swsetup_r = 0x40058cc8; 126toascii = 0x4000c720; 127tolower = 0x40001868; 128toupper = 0x40001884; 129ungetc = 0x400590f4; 130_ungetc_r = 0x40058fa0; 131__utoa = 0x400561f0; 132utoa = 0x40056258; 133wcrtomb = 0x40058920; 134_wcrtomb_r = 0x400588d8; 135_wctomb_r = 0x40058f14; 136