esp-idf/components/esp32/ld/esp32.rom.spiram_incompatible_fns.ld
Ivan Grokhotkov 50d4ffd22e esp32: remove ROM functions redefined in IDF from LD script
In some cases, linker could choose to use ROM functions instead of the
ones defined in IDF.
For functions used in ROM stub table, this would lead to infinite
recursion when the corresponding function was called from ROM.
For crypto functions, some of these were modified in IDF, and
incompatible with ROM counterparts.
2019-01-23 16:26:14 +08:00

164 lines
5.7 KiB
Plaintext

/*
If the spiram compiler workaround is active, these functions from ROM cannot be used. If the workaround is not
active (e.g. because the system does not use SPI RAM) then these functions are okay to use.
*/
PROVIDE ( abs = 0x40056340 );
PROVIDE ( __ascii_wctomb = 0x40058ef0 );
PROVIDE ( asctime = 0x40059588 );
PROVIDE ( asctime_r = 0x40000ec8 );
PROVIDE ( atoi = 0x400566c4 );
PROVIDE ( _atoi_r = 0x400566d4 );
PROVIDE ( atol = 0x400566ec );
PROVIDE ( _atol_r = 0x400566fc );
PROVIDE ( bzero = 0x4000c1f4 );
PROVIDE ( _cleanup = 0x40001df8 );
PROVIDE ( _cleanup_r = 0x40001d48 );
PROVIDE ( close = 0x40001778 );
PROVIDE ( creat = 0x40000e8c );
PROVIDE ( ctime = 0x400595b0 );
PROVIDE ( ctime_r = 0x400595c4 );
PROVIDE ( div = 0x40056348 );
PROVIDE ( __dummy_lock = 0x4000c728 );
PROVIDE ( __dummy_lock_try = 0x4000c730 );
PROVIDE ( __env_lock = 0x40001fd4 );
PROVIDE ( __env_unlock = 0x40001fe0 );
PROVIDE ( fclose = 0x400020ac );
PROVIDE ( _fclose_r = 0x40001fec );
PROVIDE ( fflush = 0x40059394 );
PROVIDE ( _fflush_r = 0x40059320 );
PROVIDE ( _findenv_r = 0x40001f44 );
PROVIDE ( __fp_lock_all = 0x40001f1c );
PROVIDE ( __fp_unlock_all = 0x40001f30 );
PROVIDE ( fputwc = 0x40058ea8 );
PROVIDE ( __fputwc = 0x40058da0 );
PROVIDE ( _fputwc_r = 0x40058e4c );
PROVIDE ( _fwalk = 0x4000c738 );
PROVIDE ( _fwalk_reent = 0x4000c770 );
PROVIDE ( __get_current_time_locale = 0x40001834 );
PROVIDE ( _getenv_r = 0x40001fbc );
PROVIDE ( __gettzinfo = 0x40001fcc );
PROVIDE ( gmtime = 0x40059848 );
PROVIDE ( gmtime_r = 0x40059868 );
PROVIDE ( isalnum = 0x40000f04 );
PROVIDE ( isalpha = 0x40000f18 );
PROVIDE ( isascii = 0x4000c20c );
PROVIDE ( _isatty_r = 0x40000ea0 );
PROVIDE ( isblank = 0x40000f2c );
PROVIDE ( iscntrl = 0x40000f50 );
PROVIDE ( isdigit = 0x40000f64 );
PROVIDE ( isgraph = 0x40000f94 );
PROVIDE ( islower = 0x40000f78 );
PROVIDE ( isprint = 0x40000fa8 );
PROVIDE ( ispunct = 0x40000fc0 );
PROVIDE ( isspace = 0x40000fd4 );
PROVIDE ( isupper = 0x40000fe8 );
PROVIDE ( itoa = 0x400566b4 );
PROVIDE ( __itoa = 0x40056678 );
PROVIDE ( labs = 0x40056370 );
PROVIDE ( ldiv = 0x40056378 );
PROVIDE ( __locale_charset = 0x40059540 );
PROVIDE ( __locale_cjk_lang = 0x40059558 );
PROVIDE ( localeconv = 0x4005957c );
PROVIDE ( _localeconv_r = 0x40059560 );
PROVIDE ( __locale_mb_cur_max = 0x40059548 );
PROVIDE ( __locale_msgcharset = 0x40059550 );
PROVIDE ( localtime = 0x400595dc );
PROVIDE ( localtime_r = 0x400595fc );
PROVIDE ( longjmp = 0x400562cc );
PROVIDE ( memccpy = 0x4000c220 );
PROVIDE ( memchr = 0x4000c244 );
PROVIDE ( memcmp = 0x4000c260 );
PROVIDE ( memcpy = 0x4000c2c8 );
PROVIDE ( memmove = 0x4000c3c0 );
PROVIDE ( memrchr = 0x4000c400 );
PROVIDE ( memset = 0x4000c44c );
PROVIDE ( mktime = 0x4005a5e8 );
PROVIDE ( open = 0x4000178c );
PROVIDE ( qsort = 0x40056424 );
PROVIDE ( rand = 0x40001058 );
PROVIDE ( rand_r = 0x400010d4 );
PROVIDE ( read = 0x400017dc );
PROVIDE ( sbrk = 0x400017f4 );
PROVIDE ( __sccl = 0x4000c498 );
PROVIDE ( __sclose = 0x400011b8 );
PROVIDE ( __seofread = 0x40001148 );
PROVIDE ( setjmp = 0x40056268 );
PROVIDE ( setlocale = 0x40059568 );
PROVIDE ( _setlocale_r = 0x4005950c );
PROVIDE ( __sflush_r = 0x400591e0 );
PROVIDE ( __sfmoreglue = 0x40001dc8 );
PROVIDE ( __sfp = 0x40001e90 );
PROVIDE ( __sfp_lock_acquire = 0x40001e08 );
PROVIDE ( __sfp_lock_release = 0x40001e14 );
PROVIDE ( __sfputs_r = 0x40057790 );
PROVIDE ( __sfvwrite_r = 0x4005893c );
PROVIDE ( __sinit = 0x40001e38 );
PROVIDE ( __sinit_lock_acquire = 0x40001e20 );
PROVIDE ( __sinit_lock_release = 0x40001e2c );
PROVIDE ( __smakebuf_r = 0x40059108 );
PROVIDE ( srand = 0x40001004 );
PROVIDE ( __sread = 0x40001118 );
PROVIDE ( __srefill_r = 0x400593d4 );
PROVIDE ( __sseek = 0x40001184 );
PROVIDE ( __ssprint_r = 0x40056ff8 );
PROVIDE ( __ssputs_r = 0x40056f2c );
PROVIDE ( __ssrefill_r = 0x40057fec );
PROVIDE ( strcasecmp = 0x400011cc );
PROVIDE ( strcasestr = 0x40001210 );
PROVIDE ( strcat = 0x4000c518 );
PROVIDE ( strchr = 0x4000c53c );
PROVIDE ( strcmp = 0x40001274 );
PROVIDE ( strcoll = 0x40001398 );
PROVIDE ( strcpy = 0x400013ac );
PROVIDE ( strcspn = 0x4000c558 );
PROVIDE ( strdup = 0x4000143c );
PROVIDE ( _strdup_r = 0x40001450 );
PROVIDE ( strftime = 0x40059ab4 );
PROVIDE ( strlcat = 0x40001470 );
PROVIDE ( strlcpy = 0x4000c584 );
PROVIDE ( strlen = 0x400014c0 );
PROVIDE ( strlwr = 0x40001524 );
PROVIDE ( strncasecmp = 0x40001550 );
PROVIDE ( strncat = 0x4000c5c4 );
PROVIDE ( strncmp = 0x4000c5f4 );
PROVIDE ( strncpy = 0x400015d4 );
PROVIDE ( strndup = 0x400016b0 );
PROVIDE ( _strndup_r = 0x400016c4 );
PROVIDE ( strnlen = 0x4000c628 );
PROVIDE ( strrchr = 0x40001708 );
PROVIDE ( strsep = 0x40001734 );
PROVIDE ( strspn = 0x4000c648 );
PROVIDE ( strstr = 0x4000c674 );
PROVIDE ( __strtok_r = 0x4000c6a8 );
PROVIDE ( strtok_r = 0x4000c70c );
PROVIDE ( strtol = 0x4005681c );
PROVIDE ( _strtol_r = 0x40056714 );
PROVIDE ( strtoul = 0x4005692c );
PROVIDE ( _strtoul_r = 0x40056834 );
PROVIDE ( strupr = 0x4000174c );
PROVIDE ( __submore = 0x40058f3c );
PROVIDE ( _sungetc_r = 0x40057f6c );
PROVIDE ( __swbuf = 0x40058cb4 );
PROVIDE ( __swbuf_r = 0x40058bec );
PROVIDE ( __swrite = 0x40001150 );
PROVIDE ( __swsetup_r = 0x40058cc8 );
PROVIDE ( time = 0x40001844 );
PROVIDE ( __time_load_locale = 0x4000183c );
PROVIDE ( times = 0x40001808 );
PROVIDE ( toascii = 0x4000c720 );
PROVIDE ( tolower = 0x40001868 );
PROVIDE ( toupper = 0x40001884 );
PROVIDE ( __tzcalc_limits = 0x400018a0 );
PROVIDE ( __tz_lock = 0x40001a04 );
PROVIDE ( tzset = 0x40001a1c );
PROVIDE ( _tzset_r = 0x40001a28 );
PROVIDE ( __tz_unlock = 0x40001a10 );
PROVIDE ( ungetc = 0x400590f4 );
PROVIDE ( _ungetc_r = 0x40058fa0 );
PROVIDE ( utoa = 0x40056258 );
PROVIDE ( __utoa = 0x400561f0 );
PROVIDE ( wcrtomb = 0x40058920 );
PROVIDE ( _wcrtomb_r = 0x400588d8 );
PROVIDE ( _wctomb_r = 0x40058f14 );
PROVIDE ( write = 0x4000181c );