mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
esp_rom: update ld scripts to export strong symbols
Similar to commits for esp32 target: e84b26f5, 8c2f2867, 5719cd6f
This commit is contained in:
parent
cfba50811d
commit
7c723e121c
@ -1,19 +1,16 @@
|
||||
idf_build_get_property(target IDF_TARGET)
|
||||
|
||||
if(BOOTLOADER_BUILD)
|
||||
# For bootloader, all we need is headers
|
||||
set(COMPONENT_ADD_INCLUDEDIRS "include")
|
||||
set(COMPONENT_REQUIRES ${IDF_COMPONENTS})
|
||||
set(COMPONENT_SRCS)
|
||||
register_component()
|
||||
idf_build_get_property(target IDF_TARGET)
|
||||
set(scripts "${target}/ld/${target}.rom.ld")
|
||||
if(target STREQUAL "esp32")
|
||||
list(APPEND scripts
|
||||
set(scripts "${target}/ld/${target}.rom.ld"
|
||||
"${target}/ld/${target}.rom.newlib-funcs.ld"
|
||||
"${target}/ld/${target}.rom.libgcc.ld")
|
||||
elseif(target STREQUAL "esp32s2beta")
|
||||
list(APPEND scripts
|
||||
"${target}/ld/${target}.rom.spiflash.ld"
|
||||
"${target}/ld/${target}.rom.spiram_incompatible_fns.ld")
|
||||
if (target STREQUAL "esp32s2beta")
|
||||
list(APPEND scripts "esp32s2beta/ld/esp32s2beta.rom.spiflash.ld")
|
||||
endif()
|
||||
target_linker_script(${COMPONENT_LIB} "${scripts}")
|
||||
else()
|
||||
@ -23,14 +20,13 @@ else()
|
||||
|
||||
register_component()
|
||||
|
||||
if (IDF_TARGET STREQUAL "esp32")
|
||||
set(scripts
|
||||
"esp32/ld/esp32.rom.ld"
|
||||
"esp32/ld/esp32.rom.libgcc.ld"
|
||||
"esp32/ld/esp32.rom.syscalls.ld"
|
||||
"esp32/ld/esp32.rom.newlib-data.ld"
|
||||
)
|
||||
target_linker_script(${COMPONENT_LIB} "${scripts}")
|
||||
"${target}/ld/${target}.rom.ld"
|
||||
"${target}/ld/${target}.rom.libgcc.ld"
|
||||
"${target}/ld/${target}.rom.newlib-data.ld")
|
||||
|
||||
if (target STREQUAL "esp32")
|
||||
list(APPEND scripts "${target}/ld/${target}.rom.syscalls.ld")
|
||||
|
||||
if(NOT CONFIG_SPIRAM_CACHE_WORKAROUND)
|
||||
target_linker_script(${COMPONENT_LIB} "esp32/ld/esp32.rom.newlib-funcs.ld")
|
||||
@ -48,12 +44,15 @@ else()
|
||||
target_linker_script(${COMPONENT_LIB} "esp32/ld/esp32.rom.spiflash.ld")
|
||||
endif()
|
||||
|
||||
elseif(IDF_TARGET STREQUAL "esp32s2beta")
|
||||
set(scripts "esp32s2beta/ld/esp32s2beta.rom.ld"
|
||||
"esp32s2beta/ld/esp32s2beta.rom.nanofmt.ld"
|
||||
"esp32s2beta/ld/esp32s2beta.rom.spiflash.ld"
|
||||
"esp32s2beta/ld/esp32s2beta.rom.spiram_incompatible_fns.ld")
|
||||
target_linker_script(${COMPONENT_LIB} "${scripts}")
|
||||
elseif(target STREQUAL "esp32s2beta")
|
||||
# no SPIRAM workaround for esp32s2beta
|
||||
# no nano formatting function in ROM
|
||||
# no GCC 5.2.0 for esp32s2beta, hence not linking locale functions
|
||||
|
||||
list(APPEND scripts "esp32s2beta/ld/esp32s2beta.rom.newlib-funcs.ld"
|
||||
"esp32s2beta/ld/esp32s2beta.rom.spiflash.ld")
|
||||
endif()
|
||||
|
||||
target_linker_script(${COMPONENT_LIB} "${scripts}")
|
||||
|
||||
endif()
|
||||
|
@ -3,22 +3,13 @@ ESP32C ROM address table
|
||||
Generated for ROM with MD5sum:
|
||||
f054d40c5f6b9207d3827460a6f5748c /home/jack/esp-rom/rom//.output/eagle/release/image/eagle.pro.rom.out
|
||||
*/
|
||||
PROVIDE ( abort = 0x400151e0 );
|
||||
PROVIDE ( abs = 0x4000073c );
|
||||
PROVIDE ( __absvdi2 = 0x40005eb4 );
|
||||
PROVIDE ( __absvsi2 = 0x40005ea0 );
|
||||
PROVIDE ( acm_config_descr = 0x3ffae859 );
|
||||
PROVIDE ( acm_usb_descriptors = 0x3ffae7b0 );
|
||||
PROVIDE ( __adddf3 = 0x40008a3c );
|
||||
PROVIDE ( __addsf3 = 0x40008594 );
|
||||
PROVIDE ( __addvdi3 = 0x4000916c );
|
||||
PROVIDE ( __addvsi3 = 0x40009148 );
|
||||
PROVIDE ( app_gpio_arg = 0x3fffc9b4 );
|
||||
PROVIDE ( app_gpio_handler = 0x3fffc9b8 );
|
||||
PROVIDE ( __ascii_mbtowc = 0x40007de0 );
|
||||
PROVIDE ( __ascii_wctomb = 0x40001cac );
|
||||
PROVIDE ( __ashldi3 = 0x4001622c );
|
||||
PROVIDE ( __ashrdi3 = 0x40016244 );
|
||||
PROVIDE ( __assert = 0x4001565c );
|
||||
PROVIDE ( __assert_func = 0x40015634 );
|
||||
PROVIDE ( atoi = 0x40000adc );
|
||||
@ -26,8 +17,6 @@ PROVIDE ( _atoi_r = 0x40000aec );
|
||||
PROVIDE ( atol = 0x40000b04 );
|
||||
PROVIDE ( _atol_r = 0x40000b14 );
|
||||
PROVIDE ( boot_prepare = 0x4000c020 );
|
||||
PROVIDE ( __bswapdi2 = 0x40007110 );
|
||||
PROVIDE ( __bswapsi2 = 0x400070e8 );
|
||||
PROVIDE ( bzero = 0x40007ca4 );
|
||||
PROVIDE ( Cache_Address_Through_DCache = 0x40013b50 );
|
||||
PROVIDE ( Cache_Address_Through_ICache = 0x40013b10 );
|
||||
@ -125,11 +114,6 @@ PROVIDE ( _cleanup_r = 0x400156ac );
|
||||
PROVIDE ( __clear_cache = 0x40005e98 );
|
||||
PROVIDE ( close = 0x4000848c );
|
||||
PROVIDE ( _close_r = 0x40015378 );
|
||||
PROVIDE ( __clrsbdi2 = 0x40007184 );
|
||||
PROVIDE ( __clrsbsi2 = 0x4000716c );
|
||||
PROVIDE ( __clzdi2 = 0x40016464 );
|
||||
PROVIDE ( __clzsi2 = 0x400161fc );
|
||||
PROVIDE ( __cmpdi2 = 0x40005e58 );
|
||||
PROVIDE ( cpio_destroy = 0x40012088 );
|
||||
PROVIDE ( cpio_done = 0x40012054 );
|
||||
PROVIDE ( cpio_feed = 0x40011d5c );
|
||||
@ -142,8 +126,6 @@ PROVIDE ( crc8_be = 0x4000e7b4 );
|
||||
PROVIDE ( crc8_le = 0x4000e784 );
|
||||
PROVIDE ( creat = 0x40007c68 );
|
||||
PROVIDE ( _ctype_ = 0x3ffab96c );
|
||||
PROVIDE ( __ctzdi2 = 0x40016478 );
|
||||
PROVIDE ( __ctzsi2 = 0x40016204 );
|
||||
PROVIDE ( _cvt = 0x4000c6d8 );
|
||||
PROVIDE ( _data_end_all_pro = 0x3fffdd10 );
|
||||
PROVIDE ( _data_end_c = 0x3fffc040 );
|
||||
@ -224,12 +206,6 @@ PROVIDE ( dh_group5_prime = 0x3ffad899 );
|
||||
PROVIDE ( disable_default_watchdog = 0x4000bf84 );
|
||||
PROVIDE ( Disable_QMode = 0x40012d24 );
|
||||
PROVIDE ( div = 0x40000744 );
|
||||
PROVIDE ( __divdc3 = 0x40006c30 );
|
||||
PROVIDE ( __divdf3 = 0x40008e00 );
|
||||
PROVIDE ( __divdi3 = 0x40016498 );
|
||||
PROVIDE ( __divsc3 = 0x40006920 );
|
||||
PROVIDE ( __divsf3 = 0x400087f8 );
|
||||
PROVIDE ( __divsi3 = 0x400161cc );
|
||||
PROVIDE ( _DoubleExceptionVector = 0x400003c0 );
|
||||
PROVIDE ( _DoubleExceptionVector_text_end = 0x400003c6 );
|
||||
PROVIDE ( _DoubleExceptionVector_text_start = 0x400003c0 );
|
||||
@ -237,8 +213,6 @@ PROVIDE ( _dram0_0_start = 0x3fffc000 );
|
||||
PROVIDE ( _dram0_1_start = 0x3fffdd00 );
|
||||
PROVIDE ( dummy_len_plus = 0x3fffc250 );
|
||||
PROVIDE ( Enable_QMode = 0x40012cd4 );
|
||||
PROVIDE ( __eqdf2 = 0x40005ce0 );
|
||||
PROVIDE ( __eqsf2 = 0x400059ac );
|
||||
PROVIDE ( esp_crc8 = 0x4000e7e0 );
|
||||
PROVIDE ( _etext = 0x400170fc );
|
||||
PROVIDE ( ets_aes_block = 0x4000aa2c );
|
||||
@ -337,13 +311,6 @@ PROVIDE ( ets_sha_starts = 0x4000d27c );
|
||||
PROVIDE ( ets_sha_update = 0x4000d484 );
|
||||
PROVIDE ( ets_startup_callback = 0x3fffcd24 );
|
||||
PROVIDE ( ets_task = 0x4000acbc );
|
||||
PROVIDE ( ets_timer_arm = 0x4000d76c );
|
||||
PROVIDE ( ets_timer_arm_us = 0x4000d7b0 );
|
||||
PROVIDE ( ets_timer_disarm = 0x4000d7f0 );
|
||||
PROVIDE ( ets_timer_done = 0x4000d82c );
|
||||
PROVIDE ( ets_timer_handler_isr = 0x4000d858 );
|
||||
PROVIDE ( ets_timer_init = 0x4000d8ec );
|
||||
PROVIDE ( ets_timer_setfn = 0x4000d754 );
|
||||
PROVIDE ( ets_unpack_flash_code_legacy = 0x4000e138 );
|
||||
PROVIDE ( ets_update_cpu_frequency = 0x4000d954 );
|
||||
PROVIDE ( ets_vprintf = 0x4000c75c );
|
||||
@ -353,38 +320,20 @@ PROVIDE ( ets_write_char = 0x4000c694 );
|
||||
PROVIDE ( ets_write_char_uart = 0x4000c6b8 );
|
||||
PROVIDE ( exc_cause_table = 0x3ffabda8 );
|
||||
PROVIDE ( _exit_r = 0x40015364 );
|
||||
PROVIDE ( __extendsfdf2 = 0x400090e4 );
|
||||
PROVIDE ( fclose = 0x40015a30 );
|
||||
PROVIDE ( _fclose_r = 0x40015940 );
|
||||
PROVIDE ( fflush = 0x40001f94 );
|
||||
PROVIDE ( _fflush_r = 0x40001f0c );
|
||||
PROVIDE ( __ffsdi2 = 0x40016440 );
|
||||
PROVIDE ( __ffssi2 = 0x40016218 );
|
||||
PROVIDE ( FilePacketSendDeflatedReqMsgProc = 0x4000ec20 );
|
||||
PROVIDE ( FilePacketSendReqMsgProc = 0x4000e920 );
|
||||
PROVIDE ( fiprintf = 0x40000e18 );
|
||||
PROVIDE ( _fiprintf_r = 0x40000df4 );
|
||||
PROVIDE ( __fixdfdi = 0x40008f74 );
|
||||
PROVIDE ( __fixdfsi = 0x40008f28 );
|
||||
PROVIDE ( __fixsfdi = 0x400088f8 );
|
||||
PROVIDE ( __fixsfsi = 0x400088b8 );
|
||||
PROVIDE ( __fixunsdfsi = 0x40008fe0 );
|
||||
PROVIDE ( __fixunssfdi = 0x400089b0 );
|
||||
PROVIDE ( __fixunssfsi = 0x40008958 );
|
||||
PROVIDE ( flashchip = 0x3fffc230 );
|
||||
PROVIDE ( FlashDwnLdDeflatedStartMsgProc = 0x4000ebc8 );
|
||||
PROVIDE ( FlashDwnLdParamCfgMsgProc = 0x4000ea08 );
|
||||
PROVIDE ( FlashDwnLdStartMsgProc = 0x4000e8bc );
|
||||
PROVIDE ( FlashDwnLdStopDeflatedReqMsgProc = 0x4000ed20 );
|
||||
PROVIDE ( FlashDwnLdStopReqMsgProc = 0x4000e9d8 );
|
||||
PROVIDE ( __floatdidf = 0x4001639c );
|
||||
PROVIDE ( __floatdisf = 0x400162d4 );
|
||||
PROVIDE ( __floatsidf = 0x40016358 );
|
||||
PROVIDE ( __floatsisf = 0x40016284 );
|
||||
PROVIDE ( __floatundidf = 0x4001638c );
|
||||
PROVIDE ( __floatundisf = 0x400162c4 );
|
||||
PROVIDE ( __floatunsidf = 0x4001634c );
|
||||
PROVIDE ( __floatunsisf = 0x40016278 );
|
||||
PROVIDE ( __fp_lock_all = 0x40015864 );
|
||||
PROVIDE ( fprintf = 0x40000e18 );
|
||||
PROVIDE ( _fprintf_r = 0x40000df4 );
|
||||
@ -397,11 +346,8 @@ PROVIDE ( _free_r = 0x40015208 );
|
||||
PROVIDE ( _fstat_r = 0x40015308 );
|
||||
PROVIDE ( _fwalk = 0x40016efc );
|
||||
PROVIDE ( _fwalk_reent = 0x40016f34 );
|
||||
PROVIDE ( __gcc_bcmp = 0x400071bc );
|
||||
PROVIDE ( __gedf2 = 0x40005da0 );
|
||||
PROVIDE ( general_device_descr = 0x3fffc2a8 );
|
||||
PROVIDE ( _GeneralException = 0x400077ab );
|
||||
PROVIDE ( __gesf2 = 0x40005a44 );
|
||||
PROVIDE ( get_id = 0x4001272c );
|
||||
PROVIDE ( _getpid_r = 0x40015338 );
|
||||
PROVIDE ( __getreent = 0x400154c8 );
|
||||
@ -440,9 +386,7 @@ PROVIDE ( gpio_pin_wakeup_disable = 0x40014f48 );
|
||||
PROVIDE ( gpio_pin_wakeup_enable = 0x40014f14 );
|
||||
PROVIDE ( gpio_register_get = 0x40014d58 );
|
||||
PROVIDE ( gpio_register_set = 0x40014c54 );
|
||||
PROVIDE ( __gtdf2 = 0x40005d14 );
|
||||
PROVIDE ( g_ticks_per_us = 0x3fffcb00 );
|
||||
PROVIDE ( __gtsf2 = 0x400059d8 );
|
||||
PROVIDE ( hmac_md5 = 0x4000586c );
|
||||
PROVIDE ( hmac_md5_vector = 0x4000577c );
|
||||
PROVIDE ( ibus_ahb_baseaddrs = 0x3ffae8f8 );
|
||||
@ -473,8 +417,6 @@ PROVIDE ( _KernelExceptionVector_text_start = 0x40000300 );
|
||||
PROVIDE ( _kill_r = 0x4001534c );
|
||||
PROVIDE ( labs = 0x4000076c );
|
||||
PROVIDE ( ldiv = 0x40000774 );
|
||||
PROVIDE ( __ledf2 = 0x40005d3c );
|
||||
PROVIDE ( __lesf2 = 0x400059f8 );
|
||||
PROVIDE ( _Level2FromVector = 0x400078d4 );
|
||||
PROVIDE ( _Level2HandlerLabel = 0x00000000 );
|
||||
PROVIDE ( _Level2InterruptVector_text_end = 0x40000186 );
|
||||
@ -517,9 +459,6 @@ PROVIDE ( _lock_try_acquire = 0x40015478 );
|
||||
PROVIDE ( _lock_try_acquire_recursive = 0x4001548c );
|
||||
PROVIDE ( longjmp = 0x400006c8 );
|
||||
PROVIDE ( _lseek_r = 0x400153c8 );
|
||||
PROVIDE ( __lshrdi3 = 0x40016260 );
|
||||
PROVIDE ( __ltdf2 = 0x40005dc8 );
|
||||
PROVIDE ( __ltsf2 = 0x40005a64 );
|
||||
PROVIDE ( main = 0x4000c390 );
|
||||
PROVIDE ( malloc = 0x400154dc );
|
||||
PROVIDE ( _malloc_r = 0x400151f0 );
|
||||
@ -557,42 +496,18 @@ PROVIDE ( memrchr = 0x40015f18 );
|
||||
PROVIDE ( memset = 0x40015f68 );
|
||||
PROVIDE ( MMU_Drom0_I2D_Copy = 0x40014788 );
|
||||
PROVIDE ( MMU_Drom_ICache_Unmap = 0x400147a0 );
|
||||
PROVIDE ( __moddi3 = 0x40016760 );
|
||||
PROVIDE ( __modsi3 = 0x400161d4 );
|
||||
PROVIDE ( __muldc3 = 0x400062e8 );
|
||||
PROVIDE ( __muldf3 = 0x40005bc4 );
|
||||
PROVIDE ( __muldi3 = 0x40016410 );
|
||||
PROVIDE ( __mulsc3 = 0x40005f80 );
|
||||
PROVIDE ( __mulsf3 = 0x40005900 );
|
||||
PROVIDE ( __mulsi3 = 0x400161c4 );
|
||||
PROVIDE ( multofup = 0x40009d90 );
|
||||
PROVIDE ( __mulvdi3 = 0x4000922c );
|
||||
PROVIDE ( __mulvsi3 = 0x40009214 );
|
||||
PROVIDE ( mz_adler32 = 0x4000326c );
|
||||
PROVIDE ( mz_crc32 = 0x40003334 );
|
||||
PROVIDE ( mz_free = 0x40003380 );
|
||||
PROVIDE ( __nedf2 = 0x40005ce0 );
|
||||
PROVIDE ( __negdf2 = 0x40005ad8 );
|
||||
PROVIDE ( __negdi2 = 0x40016428 );
|
||||
PROVIDE ( __negsf2 = 0x4000856c );
|
||||
PROVIDE ( __negvdi2 = 0x40009348 );
|
||||
PROVIDE ( __negvsi2 = 0x40009328 );
|
||||
PROVIDE ( __nesf2 = 0x400059ac );
|
||||
PROVIDE ( _NMIExceptionVector = 0x400002c0 );
|
||||
PROVIDE ( _NMIExceptionVector_text_end = 0x400002c3 );
|
||||
PROVIDE ( _NMIExceptionVector_text_start = 0x400002c0 );
|
||||
PROVIDE ( __nsau_data = 0x3ffaba70 );
|
||||
PROVIDE ( open = 0x400084a0 );
|
||||
PROVIDE ( _open_r = 0x40015390 );
|
||||
PROVIDE ( __packed = 0x3fffc530 );
|
||||
PROVIDE ( __paritysi2 = 0x40009414 );
|
||||
PROVIDE ( _PathLocale = 0x3fffc040 );
|
||||
PROVIDE ( phy_get_romfuncs = 0x4000a8d4 );
|
||||
PROVIDE ( __popcountdi2 = 0x400093bc );
|
||||
PROVIDE ( __popcountsi2 = 0x40009384 );
|
||||
PROVIDE ( __popcount_tab = 0x3ffaba70 );
|
||||
PROVIDE ( __powidf2 = 0x40005f1c );
|
||||
PROVIDE ( __powisf2 = 0x40005ed4 );
|
||||
PROVIDE ( _Pri_4_HandlerAddress = 0x3fffcfa8 );
|
||||
PROVIDE ( _Pri_5_HandlerAddress = 0x3fffcfac );
|
||||
PROVIDE ( _printf_common = 0x4000123c );
|
||||
@ -888,10 +803,6 @@ PROVIDE ( strtoul = 0x40000dcc );
|
||||
PROVIDE ( strtoul_l = 0x40000db4 );
|
||||
PROVIDE ( _strtoul_r = 0x40000d90 );
|
||||
PROVIDE ( strupr = 0x40008460 );
|
||||
PROVIDE ( __subdf3 = 0x40008b90 );
|
||||
PROVIDE ( __subsf3 = 0x4000867c );
|
||||
PROVIDE ( __subvdi3 = 0x400091d0 );
|
||||
PROVIDE ( __subvsi3 = 0x400091ac );
|
||||
PROVIDE ( s_usb_osglue = 0x3fffc520 );
|
||||
PROVIDE ( __swbuf = 0x40001a58 );
|
||||
PROVIDE ( __swbuf_r = 0x40001998 );
|
||||
@ -920,7 +831,6 @@ PROVIDE ( tinfl_decompress_mem_to_mem = 0x40004544 );
|
||||
PROVIDE ( toascii = 0x400161bc );
|
||||
PROVIDE ( tolower = 0x40008534 );
|
||||
PROVIDE ( toupper = 0x40008550 );
|
||||
PROVIDE ( __truncdfsf2 = 0x40009040 );
|
||||
PROVIDE ( uart_acm_dev = 0x3fffc9c0 );
|
||||
PROVIDE ( uartAttach = 0x4000f524 );
|
||||
PROVIDE ( uart_baudrate_detect = 0x4000f588 );
|
||||
@ -950,17 +860,7 @@ PROVIDE ( uart_tx_one_char2 = 0x4000f7b0 );
|
||||
PROVIDE ( uart_tx_switch = 0x4000f57c );
|
||||
PROVIDE ( uart_tx_wait_idle = 0x4000f7f4 );
|
||||
PROVIDE ( uart_usb_enable_reset_on_rts = 0x4000f4e8 );
|
||||
PROVIDE ( __ucmpdi2 = 0x40005e78 );
|
||||
PROVIDE ( __udivdi3 = 0x40016a08 );
|
||||
PROVIDE ( __udivmoddi4 = 0x400071fc );
|
||||
PROVIDE ( __udivsi3 = 0x400161dc );
|
||||
PROVIDE ( __udiv_w_sdiv = 0x400071f4 );
|
||||
PROVIDE ( __umoddi3 = 0x40016c8c );
|
||||
PROVIDE ( __umodsi3 = 0x400161e4 );
|
||||
PROVIDE ( __umulsidi3 = 0x400161ec );
|
||||
PROVIDE ( _unlink_r = 0x400152c0 );
|
||||
PROVIDE ( __unorddf2 = 0x40005e2c );
|
||||
PROVIDE ( __unordsf2 = 0x40005ab0 );
|
||||
PROVIDE ( usb_cancel_transfer = 0x4001189c );
|
||||
PROVIDE ( usb_data_stuff = 0x3ffabe48 );
|
||||
PROVIDE ( usb_dc_attach = 0x400104f8 );
|
||||
|
98
components/esp_rom/esp32s2beta/ld/esp32s2beta.rom.libgcc.ld
Normal file
98
components/esp_rom/esp32s2beta/ld/esp32s2beta.rom.libgcc.ld
Normal file
@ -0,0 +1,98 @@
|
||||
/* Unlike other ROM functions which are exported using PROVIDE, which declares
|
||||
weak symbols, these libgcc functions are exported using assignment,
|
||||
which declares strong symbols. This is done so that ROM functions are always
|
||||
used instead of the ones provided by libgcc.a.
|
||||
*/
|
||||
|
||||
__absvdi2 = 0x40005eb4;
|
||||
__absvsi2 = 0x40005ea0;
|
||||
__adddf3 = 0x40008a3c;
|
||||
__addsf3 = 0x40008594;
|
||||
__addvdi3 = 0x4000916c;
|
||||
__addvsi3 = 0x40009148;
|
||||
__ashldi3 = 0x4001622c;
|
||||
__ashrdi3 = 0x40016244;
|
||||
__bswapdi2 = 0x40007110;
|
||||
__bswapsi2 = 0x400070e8;
|
||||
__clrsbdi2 = 0x40007184;
|
||||
__clrsbsi2 = 0x4000716c;
|
||||
__clzdi2 = 0x40016464;
|
||||
__clzsi2 = 0x400161fc;
|
||||
__cmpdi2 = 0x40005e58;
|
||||
__ctzdi2 = 0x40016478;
|
||||
__ctzsi2 = 0x40016204;
|
||||
__divdc3 = 0x40006c30;
|
||||
__divdf3 = 0x40008e00;
|
||||
__divdi3 = 0x40016498;
|
||||
__divsc3 = 0x40006920;
|
||||
__divsf3 = 0x400087f8;
|
||||
__divsi3 = 0x400161cc;
|
||||
__eqdf2 = 0x40005ce0;
|
||||
__eqsf2 = 0x400059ac;
|
||||
__extendsfdf2 = 0x400090e4;
|
||||
__ffsdi2 = 0x40016440;
|
||||
__ffssi2 = 0x40016218;
|
||||
__fixdfdi = 0x40008f74;
|
||||
__fixdfsi = 0x40008f28;
|
||||
__fixsfdi = 0x400088f8;
|
||||
__fixsfsi = 0x400088b8;
|
||||
__fixunsdfsi = 0x40008fe0;
|
||||
__fixunssfdi = 0x400089b0;
|
||||
__fixunssfsi = 0x40008958;
|
||||
__floatdidf = 0x4001639c;
|
||||
__floatdisf = 0x400162d4;
|
||||
__floatsidf = 0x40016358;
|
||||
__floatsisf = 0x40016284;
|
||||
__floatundidf = 0x4001638c;
|
||||
__floatundisf = 0x400162c4;
|
||||
__floatunsidf = 0x4001634c;
|
||||
__floatunsisf = 0x40016278;
|
||||
__gcc_bcmp = 0x400071bc;
|
||||
__gedf2 = 0x40005da0;
|
||||
__gesf2 = 0x40005a44;
|
||||
__gtdf2 = 0x40005d14;
|
||||
__gtsf2 = 0x400059d8;
|
||||
__ledf2 = 0x40005d3c;
|
||||
__lesf2 = 0x400059f8;
|
||||
__lshrdi3 = 0x40016260;
|
||||
__ltdf2 = 0x40005dc8;
|
||||
__ltsf2 = 0x40005a64;
|
||||
__moddi3 = 0x40016760;
|
||||
__modsi3 = 0x400161d4;
|
||||
__muldc3 = 0x400062e8;
|
||||
__muldf3 = 0x40005bc4;
|
||||
__muldi3 = 0x40016410;
|
||||
__mulsc3 = 0x40005f80;
|
||||
__mulsf3 = 0x40005900;
|
||||
__mulsi3 = 0x400161c4;
|
||||
__mulvdi3 = 0x4000922c;
|
||||
__mulvsi3 = 0x40009214;
|
||||
__nedf2 = 0x40005ce0;
|
||||
__negdf2 = 0x40005ad8;
|
||||
__negdi2 = 0x40016428;
|
||||
__negsf2 = 0x4000856c;
|
||||
__negvdi2 = 0x40009348;
|
||||
__negvsi2 = 0x40009328;
|
||||
__nesf2 = 0x400059ac;
|
||||
__nsau_data = 0x3ffaba70;
|
||||
__paritysi2 = 0x40009414;
|
||||
__popcountdi2 = 0x400093bc;
|
||||
__popcountsi2 = 0x40009384;
|
||||
__popcount_tab = 0x3ffaba70;
|
||||
__powidf2 = 0x40005f1c;
|
||||
__powisf2 = 0x40005ed4;
|
||||
__subdf3 = 0x40008b90;
|
||||
__subsf3 = 0x4000867c;
|
||||
__subvdi3 = 0x400091d0;
|
||||
__subvsi3 = 0x400091ac;
|
||||
__truncdfsf2 = 0x40009040;
|
||||
__ucmpdi2 = 0x40005e78;
|
||||
__udivdi3 = 0x40016a08;
|
||||
__udivmoddi4 = 0x400071fc;
|
||||
__udivsi3 = 0x400161dc;
|
||||
__udiv_w_sdiv = 0x400071f4;
|
||||
__umoddi3 = 0x40016c8c;
|
||||
__umodsi3 = 0x400161e4;
|
||||
__umulsidi3 = 0x400161ec;
|
||||
__unorddf2 = 0x40005e2c;
|
||||
__unordsf2 = 0x40005ab0;
|
@ -1,101 +0,0 @@
|
||||
/*
|
||||
Address table for printf/scanf family of functions in ESP32C ROM.
|
||||
These functions are compiled with newlib "nano" format option.
|
||||
As such, they don's support 64-bit integer formats.
|
||||
Floating point formats are supported by setting _printf_float and
|
||||
_scanf_float entries in syscall table. This is done automatically
|
||||
by startup code.
|
||||
|
||||
Generated for ROM with MD5sum:
|
||||
b8cb1311c14d3fd5d32ed57d176e99d9 eagle.pro.rom.out
|
||||
*/
|
||||
|
||||
/*
|
||||
fucntions that support in ESP32, but not in ESP32C
|
||||
PROVIDE ( asiprintf = 0x40056d9c );
|
||||
PROVIDE ( _asiprintf_r = 0x40056d4c );
|
||||
PROVIDE ( asniprintf = 0x40056cd8 );
|
||||
PROVIDE ( _asniprintf_r = 0x40056c64 );
|
||||
PROVIDE ( asnprintf = 0x40056cd8 );
|
||||
PROVIDE ( _asnprintf_r = 0x40056c64 );
|
||||
PROVIDE ( asprintf = 0x40056d9c );
|
||||
PROVIDE ( _asprintf_r = 0x40056d4c );
|
||||
PROVIDE ( fiscanf = 0x40058884 );
|
||||
PROVIDE ( _fiscanf_r = 0x400588b4 );
|
||||
PROVIDE ( iprintf = 0x40056978 );
|
||||
PROVIDE ( _iprintf_r = 0x40056944 );
|
||||
PROVIDE ( printf = 0x40056978 );
|
||||
PROVIDE ( _printf_r = 0x40056944 );
|
||||
PROVIDE ( __svfiscanf_r = 0x40057b08 );
|
||||
PROVIDE ( __svfscanf = 0x40057f04 );
|
||||
PROVIDE ( __svfscanf_r = 0x40057b08 );
|
||||
PROVIDE ( vasiprintf = 0x40056eb8 );
|
||||
PROVIDE ( _vasiprintf_r = 0x40056e80 );
|
||||
PROVIDE ( vasniprintf = 0x40056e58 );
|
||||
PROVIDE ( _vasniprintf_r = 0x40056df8 );
|
||||
PROVIDE ( vasnprintf = 0x40056e58 );
|
||||
PROVIDE ( _vasnprintf_r = 0x40056df8 );
|
||||
PROVIDE ( vasprintf = 0x40056eb8 );
|
||||
PROVIDE ( _vasprintf_r = 0x40056e80 );
|
||||
PROVIDE ( vfiscanf = 0x40057eb8 );
|
||||
PROVIDE ( _vfiscanf_r = 0x40057f24 );
|
||||
PROVIDE ( vfscanf = 0x40057eb8 );
|
||||
PROVIDE ( _vfscanf_r = 0x40057f24 );
|
||||
PROVIDE ( viprintf = 0x400569b4 );
|
||||
PROVIDE ( _viprintf_r = 0x400569e4 );
|
||||
PROVIDE ( viscanf = 0x40058698 );
|
||||
PROVIDE ( _viscanf_r = 0x400586c8 );
|
||||
PROVIDE ( vprintf = 0x400569b4 );
|
||||
PROVIDE ( _vprintf_r = 0x400569e4 );
|
||||
PROVIDE ( vscanf = 0x40058698 );
|
||||
PROVIDE ( _vscanf_r = 0x400586c8 );
|
||||
PROVIDE ( vsiprintf = 0x40056ac4 );
|
||||
PROVIDE ( _vsiprintf_r = 0x40056a90 );
|
||||
PROVIDE ( vsiscanf = 0x40058740 );
|
||||
PROVIDE ( _vsiscanf_r = 0x400586f8 );
|
||||
PROVIDE ( vsniprintf = 0x40056a68 );
|
||||
PROVIDE ( _vsniprintf_r = 0x40056a14 );
|
||||
PROVIDE ( vsnprintf = 0x40056a68 );
|
||||
PROVIDE ( _vsnprintf_r = 0x40056a14 );
|
||||
PROVIDE ( vsprintf = 0x40056ac4 );
|
||||
PROVIDE ( _vsprintf_r = 0x40056a90 );
|
||||
PROVIDE ( vsscanf = 0x40058740 );
|
||||
PROVIDE ( _vsscanf_r = 0x400586f8 );
|
||||
PROVIDE ( fscanf = 0x40058884 );
|
||||
PROVIDE ( _fscanf_r = 0x400588b4 );
|
||||
PROVIDE ( iscanf = 0x40058760 );
|
||||
PROVIDE ( _iscanf_r = 0x4005879c );
|
||||
PROVIDE ( scanf = 0x40058760 );
|
||||
PROVIDE ( _scanf_r = 0x4005879c );
|
||||
*/
|
||||
PROVIDE ( fiprintf = 0x400220d4 );
|
||||
PROVIDE ( _fiprintf_r = 0x400220b0 );
|
||||
PROVIDE ( fprintf = 0x400220d4 );
|
||||
PROVIDE ( _fprintf_r = 0x400220b0 );
|
||||
PROVIDE ( _printf_common = 0x40022510 );
|
||||
PROVIDE ( _printf_float = 0x4000dc40 );
|
||||
PROVIDE ( _printf_i = 0x400225dc );
|
||||
PROVIDE ( siprintf = 0x40022054 );
|
||||
PROVIDE ( _siprintf_r = 0x40022008 );
|
||||
PROVIDE ( sniprintf = 0x40021f98 );
|
||||
PROVIDE ( _sniprintf_r = 0x40021f30 );
|
||||
PROVIDE ( snprintf = 0x40021f98 );
|
||||
PROVIDE ( _snprintf_r = 0x40021f30 );
|
||||
PROVIDE ( sprintf = 0x40022054 );
|
||||
PROVIDE ( _sprintf_r = 0x40022008 );
|
||||
PROVIDE ( __sprint_r = 0x400230e8 );
|
||||
PROVIDE ( _svfiprintf_r = 0x400222d8 );
|
||||
PROVIDE ( _svfprintf_r = 0x400222d8 );
|
||||
PROVIDE ( vfiprintf = 0x400233ec );
|
||||
PROVIDE ( _vfiprintf_r = 0x40023154 );
|
||||
PROVIDE ( vfprintf = 0x400233ec );
|
||||
PROVIDE ( _vfprintf_r = 0x40023154 );
|
||||
PROVIDE ( _scanf_chars = 0x40022d4c );
|
||||
PROVIDE ( _scanf_float = 0x4000dc5c );
|
||||
PROVIDE ( _scanf_i = 0x40022e24 );
|
||||
PROVIDE ( siscanf = 0x4002340c );
|
||||
PROVIDE ( _siscanf_r = 0x4002346c );
|
||||
PROVIDE ( sscanf = 0x4002340c );
|
||||
PROVIDE ( _sscanf_r = 0x4002346c );
|
||||
PROVIDE ( __ssvfiscanf_r = 0x400229f4 );
|
||||
PROVIDE ( __ssvfscanf_r = 0x400229f4 );
|
@ -0,0 +1,19 @@
|
||||
/* These are the .bss/.data symbols used by newlib functions present in ESP32S2beta ROM.
|
||||
See also esp32s2beta.rom.newlib-funcs.ld for the list of general newlib functions,
|
||||
and esp32s2beta.rom.newlib-stdio.ld for stdio related newlib functions.
|
||||
|
||||
Unlike other ROM functions and data which are exported using PROVIDE, which declares
|
||||
weak symbols, newlib related functions are exported using assignment,
|
||||
which declares strong symbols. This is done so that ROM functions are always
|
||||
used instead of the ones provided by libc.a.
|
||||
*/
|
||||
|
||||
_ctype_ = 0x3ffab96c;
|
||||
__default_global_locale = 0x3ffab800;
|
||||
_global_impure_ptr = 0x3fffc04c;
|
||||
__global_locale_ptr = 0x3fffc030;
|
||||
__locale_ctype_ptr = 0x40002008;
|
||||
__locale_ctype_ptr_l = 0x40002000;
|
||||
__locale_mb_cur_max = 0x40001fe8;
|
||||
__packed = 0x3fffc530;
|
||||
_PathLocale = 0x3fffc040;
|
@ -0,0 +1,96 @@
|
||||
/* These are the newlib functions present in ESP32S2beta ROM.
|
||||
See also esp32s2beta.rom.newlib-data.ld for the list of .data/.bss symbols
|
||||
used by these functions, and esp32s2beta.rom.newlib-stdio.ld for stdio related
|
||||
functions.
|
||||
|
||||
Unlike other ROM functions which are exported using PROVIDE, which declares
|
||||
weak symbols, newlib related functions are exported using assignment,
|
||||
which declares strong symbols. This is done so that ROM functions are always
|
||||
used instead of the ones provided by libc.a.
|
||||
*/
|
||||
|
||||
abs = 0x4000073c;
|
||||
__ascii_mbtowc = 0x40007de0;
|
||||
__ascii_wctomb = 0x40001cac;
|
||||
__assert = 0x4001565c;
|
||||
__assert_func = 0x40015634;
|
||||
atoi = 0x40000adc;
|
||||
_atoi_r = 0x40000aec;
|
||||
atol = 0x40000b04;
|
||||
_atol_r = 0x40000b14;
|
||||
bzero = 0x40007ca4;
|
||||
_cvt = 0x4000c6d8;
|
||||
div = 0x40000744;
|
||||
isalnum = 0x40007cb4;
|
||||
isalpha = 0x40007cc4;
|
||||
isascii = 0x40015d18;
|
||||
isblank = 0x40007cd4;
|
||||
iscntrl = 0x40007cf4;
|
||||
isdigit = 0x40007d0c;
|
||||
isgraph = 0x40007d44;
|
||||
islower = 0x40007d24;
|
||||
isprint = 0x40007d5c;
|
||||
ispunct = 0x40007d70;
|
||||
isspace = 0x40007d88;
|
||||
isupper = 0x40007da0;
|
||||
itoa = 0x40000acc;
|
||||
__itoa = 0x40000a90;
|
||||
labs = 0x4000076c;
|
||||
ldiv = 0x40000774;
|
||||
longjmp = 0x400006c8;
|
||||
_mbtowc_r = 0x40007dbc;
|
||||
memccpy = 0x40015d2c;
|
||||
memchr = 0x40015d50;
|
||||
memcmp = 0x40015d6c;
|
||||
memcpy = 0x40015dd4;
|
||||
memmove = 0x40015edc;
|
||||
memrchr = 0x40015f18;
|
||||
memset = 0x40015f68;
|
||||
pthread_setcancelstate = 0x400151d4;
|
||||
qsort = 0x40000818;
|
||||
rand = 0x40007e54;
|
||||
rand_r = 0x40007ed0;
|
||||
setjmp = 0x40000664;
|
||||
srand = 0x40007e00;
|
||||
strcasecmp = 0x40007f14;
|
||||
strcasestr = 0x40007f58;
|
||||
strcat = 0x40015fbc;
|
||||
strchr = 0x40015fdc;
|
||||
strcmp = 0x40007fc0;
|
||||
strcoll = 0x400080c4;
|
||||
strcpy = 0x400080d8;
|
||||
strcspn = 0x40015ff8;
|
||||
strdup = 0x40008160;
|
||||
_strdup_r = 0x40008174;
|
||||
strlcat = 0x40008194;
|
||||
strlcpy = 0x40016024;
|
||||
strlen = 0x400081e4;
|
||||
strlwr = 0x40008244;
|
||||
strncasecmp = 0x40008270;
|
||||
strncat = 0x40016060;
|
||||
strncmp = 0x40016090;
|
||||
strncpy = 0x400082fc;
|
||||
strndup = 0x400083c4;
|
||||
_strndup_r = 0x400083d8;
|
||||
strnlen = 0x400160c8;
|
||||
strrchr = 0x4000841c;
|
||||
strsep = 0x40008448;
|
||||
strspn = 0x400160e8;
|
||||
strstr = 0x40016114;
|
||||
__strtok_r = 0x40016144;
|
||||
strtok_r = 0x400161a8;
|
||||
strtol = 0x40000c70;
|
||||
strtol_l = 0x40000c58;
|
||||
_strtol_r = 0x40000c34;
|
||||
strtoul = 0x40000dcc;
|
||||
strtoul_l = 0x40000db4;
|
||||
_strtoul_r = 0x40000d90;
|
||||
strupr = 0x40008460;
|
||||
toascii = 0x400161bc;
|
||||
tolower = 0x40008534;
|
||||
toupper = 0x40008550;
|
||||
utoa = 0x40000654;
|
||||
__utoa = 0x400005f0;
|
||||
wcrtomb = 0x400016d0;
|
||||
_wcrtomb_r = 0x4000167c;
|
||||
_wctomb_r = 0x40001c88;
|
@ -0,0 +1,54 @@
|
||||
/* These are the stdio related newlib functions present in ESP32S2beta ROM.
|
||||
They are not used when compiling with newlib 3.
|
||||
*/
|
||||
|
||||
PROVIDE ( fclose = 0x40015a30 );
|
||||
PROVIDE ( _fclose_r = 0x40015940 );
|
||||
PROVIDE ( fflush = 0x40001f94 );
|
||||
PROVIDE ( _fflush_r = 0x40001f0c );
|
||||
PROVIDE ( __fp_lock_all = 0x40015864 );
|
||||
PROVIDE ( _fwalk = 0x40016efc );
|
||||
PROVIDE ( _fwalk_reent = 0x40016f34 );
|
||||
PROVIDE ( fiprintf = 0x40000e18 );
|
||||
PROVIDE ( _fiprintf_r = 0x40000df4 );
|
||||
PROVIDE ( fprintf = 0x40000e18 );
|
||||
PROVIDE ( _fprintf_r = 0x40000df4 );
|
||||
PROVIDE ( __fp_unlock_all = 0x40015878 );
|
||||
PROVIDE ( fputwc = 0x40001c40 );
|
||||
PROVIDE ( __fputwc = 0x40001b4c );
|
||||
PROVIDE ( _fputwc_r = 0x40001bd4 );
|
||||
PROVIDE ( _printf_common = 0x4000123c );
|
||||
PROVIDE ( _printf_float = 0x40015538 );
|
||||
PROVIDE ( _printf_i = 0x40001308 );
|
||||
PROVIDE ( vfiprintf = 0x4000121c );
|
||||
PROVIDE ( _vfiprintf_r = 0x40000f34 );
|
||||
PROVIDE ( vfprintf = 0x4000121c );
|
||||
PROVIDE ( _vfprintf_r = 0x40000f34 );
|
||||
PROVIDE ( _scanf_float = 0x40015554 );
|
||||
PROVIDE ( __sclose = 0x4001592c );
|
||||
PROVIDE ( __seofread = 0x400158bc );
|
||||
PROVIDE ( __sf_fake_stderr = 0x3ffae938 );
|
||||
PROVIDE ( __sf_fake_stdin = 0x3ffae978 );
|
||||
PROVIDE ( __sf_fake_stdout = 0x3ffae958 );
|
||||
PROVIDE ( __sflush_r = 0x40001db8 );
|
||||
PROVIDE ( __sfmoreglue = 0x400156f4 );
|
||||
PROVIDE ( __sfp = 0x400157bc );
|
||||
PROVIDE ( __sfp_lock_acquire = 0x40015734 );
|
||||
PROVIDE ( __sfp_lock_release = 0x40015740 );
|
||||
PROVIDE ( __sfputs_r = 0x40000e7c );
|
||||
PROVIDE ( __sfvwrite_r = 0x400016ec );
|
||||
PROVIDE ( __sinit = 0x40015764 );
|
||||
PROVIDE ( __sinit_lock_acquire = 0x4001574c );
|
||||
PROVIDE ( __sinit_lock_release = 0x40015758 );
|
||||
PROVIDE ( __smakebuf_r = 0x40001d30 );
|
||||
PROVIDE ( __sprint_r = 0x40000ec8 );
|
||||
PROVIDE ( __sread = 0x4001588c );
|
||||
PROVIDE ( __sseek = 0x400158f8 );
|
||||
PROVIDE ( __swbuf = 0x40001a58 );
|
||||
PROVIDE ( __swbuf_r = 0x40001998 );
|
||||
PROVIDE ( __swhatbuf_r = 0x40001cd4 );
|
||||
PROVIDE ( __swrite = 0x400158c4 );
|
||||
PROVIDE ( __swsetup_r = 0x40001a6c );
|
||||
PROVIDE ( _cleanup = 0x40015724 );
|
||||
PROVIDE ( _cleanup_r = 0x400156ac );
|
||||
PROVIDE ( creat = 0x40007c68 );
|
103
components/esp_rom/esp32s2beta/ld/esp32s2beta.rom.redefined.ld
Normal file
103
components/esp_rom/esp32s2beta/ld/esp32s2beta.rom.redefined.ld
Normal file
@ -0,0 +1,103 @@
|
||||
/*
|
||||
ROM Functions defined in this file are not used in ESP-IDF as is,
|
||||
and different definitions for functions with the same names are provided.
|
||||
This file is not used when linking ESP-IDF and is intended for reference only
|
||||
*/
|
||||
|
||||
PROVIDE ( abort = 0x400151e0 );
|
||||
PROVIDE ( ets_timer_arm = 0x4000d76c );
|
||||
PROVIDE ( ets_timer_arm_us = 0x4000d7b0 );
|
||||
PROVIDE ( ets_timer_disarm = 0x4000d7f0 );
|
||||
PROVIDE ( ets_timer_done = 0x4000d82c );
|
||||
PROVIDE ( ets_timer_handler_isr = 0x4000d858 );
|
||||
PROVIDE ( ets_timer_init = 0x4000d8ec );
|
||||
PROVIDE ( ets_timer_setfn = 0x4000d754 );
|
||||
|
||||
PROVIDE ( _KernelExceptionVector = 0x40000300 );
|
||||
PROVIDE ( _KernelExceptionVector_text_end = 0x40000306 );
|
||||
PROVIDE ( _KernelExceptionVector_text_start = 0x40000300 );
|
||||
PROVIDE ( _NMIExceptionVector = 0x400002c0 );
|
||||
PROVIDE ( _NMIExceptionVector_text_end = 0x400002c3 );
|
||||
PROVIDE ( _NMIExceptionVector_text_start = 0x400002c0 );
|
||||
PROVIDE ( _UserExceptionVector = 0x40000340 );
|
||||
PROVIDE ( _UserExceptionVector_text_end = 0x40000357 );
|
||||
PROVIDE ( _UserExceptionVector_text_start = 0x40000340 );
|
||||
PROVIDE ( _DebugExceptionVector = 0x40000280 );
|
||||
PROVIDE ( _DebugExceptionVector_text_end = 0x4000028b );
|
||||
PROVIDE ( _DebugExceptionVector_text_start = 0x40000280 );
|
||||
PROVIDE ( _DoubleExceptionVector = 0x400003c0 );
|
||||
PROVIDE ( _DoubleExceptionVector_text_end = 0x400003c6 );
|
||||
PROVIDE ( _DoubleExceptionVector_text_start = 0x400003c0 );
|
||||
PROVIDE ( _Level2FromVector = 0x400078d4 );
|
||||
PROVIDE ( _Level2HandlerLabel = 0x00000000 );
|
||||
PROVIDE ( _Level2InterruptVector_text_end = 0x40000186 );
|
||||
PROVIDE ( _Level2InterruptVector_text_start = 0x40000180 );
|
||||
PROVIDE ( _Level2Vector = 0x40000180 );
|
||||
PROVIDE ( _Level3FromVector = 0x40007970 );
|
||||
PROVIDE ( _Level3HandlerLabel = 0x00000000 );
|
||||
PROVIDE ( _Level3InterruptVector_text_end = 0x400001c6 );
|
||||
PROVIDE ( _Level3InterruptVector_text_start = 0x400001c0 );
|
||||
PROVIDE ( _Level3Vector = 0x400001c0 );
|
||||
PROVIDE ( _Level4FromVector = 0x40007a08 );
|
||||
PROVIDE ( _Level4HandlerLabel = 0x00000000 );
|
||||
PROVIDE ( _Level4InterruptVector_text_end = 0x40000206 );
|
||||
PROVIDE ( _Level4InterruptVector_text_start = 0x40000200 );
|
||||
PROVIDE ( _Level4Vector = 0x40000200 );
|
||||
PROVIDE ( _Level5FromVector = 0x40007b38 );
|
||||
PROVIDE ( _Level5HandlerLabel = 0x00000000 );
|
||||
PROVIDE ( _Level5InterruptVector_text_end = 0x40000246 );
|
||||
PROVIDE ( _Level5InterruptVector_text_start = 0x40000240 );
|
||||
PROVIDE ( _Level5Vector = 0x40000240 );
|
||||
PROVIDE ( _LevelOneInterrupt = 0x400077e6 );
|
||||
PROVIDE ( _ResetHandler = 0x4000044c );
|
||||
PROVIDE ( _ResetVector = 0x40000400 );
|
||||
PROVIDE ( _ResetVector_literal_end = 0x40000540 );
|
||||
PROVIDE ( _ResetVector_literal_start = 0x40000540 );
|
||||
PROVIDE ( _ResetVector_text_end = 0x4000053d );
|
||||
PROVIDE ( _ResetVector_text_start = 0x40000400 );
|
||||
PROVIDE ( _SyscallException = 0x40007706 );
|
||||
PROVIDE ( _WindowOverflow12 = 0x40000100 );
|
||||
PROVIDE ( _WindowOverflow4 = 0x40000000 );
|
||||
PROVIDE ( _WindowOverflow8 = 0x40000080 );
|
||||
PROVIDE ( _WindowUnderflow12 = 0x40000140 );
|
||||
PROVIDE ( _WindowUnderflow4 = 0x40000040 );
|
||||
PROVIDE ( _WindowUnderflow8 = 0x400000c0 );
|
||||
PROVIDE ( _WindowVectors_text_end = 0x40000170 );
|
||||
PROVIDE ( _WindowVectors_text_start = 0x40000000 );
|
||||
|
||||
PROVIDE ( hmac_md5 = 0x4000586c );
|
||||
PROVIDE ( hmac_md5_vector = 0x4000577c );
|
||||
PROVIDE ( MD5Final = 0x400056e8 );
|
||||
PROVIDE ( MD5Init = 0x40005648 );
|
||||
PROVIDE ( MD5Update = 0x40005668 );
|
||||
PROVIDE ( md5_vector = 0x40005750 );
|
||||
|
||||
PROVIDE ( _xtos_alloca_handler = 0x40000010 );
|
||||
PROVIDE ( xtos_cause3_handler = 0x4000774c );
|
||||
PROVIDE ( xtos_c_handler_table = 0x3fffcea8 );
|
||||
PROVIDE ( xtos_c_wrapper_handler = 0x4000775c );
|
||||
PROVIDE ( _xtos_enabled = 0x3fffcfb0 );
|
||||
PROVIDE ( xtos_exc_handler_table = 0x3fffcda8 );
|
||||
PROVIDE ( xtos_interrupt_mask_table = 0x3fffd0b8 );
|
||||
PROVIDE ( xtos_interrupt_table = 0x3fffcfb8 );
|
||||
PROVIDE ( _xtos_ints_off = 0x4001560c );
|
||||
PROVIDE ( _xtos_ints_on = 0x400155e8 );
|
||||
PROVIDE ( _xtos_intstruct = 0x3fffcfb0 );
|
||||
PROVIDE ( _xtos_l1int_handler = 0x400077c8 );
|
||||
PROVIDE ( xtos_p_none = 0x40015acc );
|
||||
PROVIDE ( _xtos_restore_intlevel = 0x400078a8 );
|
||||
PROVIDE ( _xtos_return_from_exc = 0x40015ad4 );
|
||||
PROVIDE ( _xtos_set_exception_handler = 0x40007690 );
|
||||
PROVIDE ( _xtos_set_interrupt_handler = 0x400155ac );
|
||||
PROVIDE ( _xtos_set_interrupt_handler_arg = 0x40015570 );
|
||||
PROVIDE ( _xtos_set_intlevel = 0x40015aec );
|
||||
PROVIDE ( _xtos_set_min_intlevel = 0x40015b08 );
|
||||
PROVIDE ( _xtos_set_vpri = 0x400078b4 );
|
||||
PROVIDE ( _xtos_syscall_handler = 0x400076d8 );
|
||||
PROVIDE ( xtos_unhandled_exception = 0x40015b2c );
|
||||
PROVIDE ( xtos_unhandled_interrupt = 0x40015b3c );
|
||||
PROVIDE ( _xtos_vectors_ref_ = 0x00000000 );
|
||||
PROVIDE ( _xtos_vpri_enabled = 0x3fffcfb4 );
|
||||
|
||||
PROVIDE ( setlocale = 0x40002020 );
|
||||
PROVIDE ( _setlocale_r = 0x40001fb8 );
|
@ -1,28 +1,25 @@
|
||||
/*
|
||||
Address table for SPI driver functions in ESP32 ROM.
|
||||
These functions are only linked from ROM when SPI_FLASH_ROM_DRIVER_PATCH is not set in configuration.
|
||||
SPI flash driver function, compatibility names.
|
||||
*/
|
||||
|
||||
/*
|
||||
PROVIDE ( esp_rom_spiflash_write_encrypted = 0x4000ae24 );
|
||||
PROVIDE ( esp_rom_spiflash_erase_area = 0x4000b0a0 );
|
||||
PROVIDE ( esp_rom_spiflash_erase_block = 0x4000ac20 );
|
||||
PROVIDE ( esp_rom_spiflash_erase_chip = 0x4000ac00 );
|
||||
PROVIDE ( esp_rom_spiflash_erase_sector = 0x4000ac80 );
|
||||
PROVIDE ( esp_rom_spiflash_lock = 0x4000aa30 );
|
||||
PROVIDE ( esp_rom_spiflash_read = 0x4000ae84 );
|
||||
*/
|
||||
/* SPIMasterReadModeCnfig */
|
||||
/*
|
||||
PROVIDE ( esp_rom_spiflash_config_readmode = 0x4000ab2c );
|
||||
PROVIDE ( esp_rom_spiflash_read_status = 0x40009db8 );
|
||||
PROVIDE ( esp_rom_spiflash_read_statushigh = 0x40009ffc );
|
||||
PROVIDE ( esp_rom_spiflash_write = 0x4000ace0 );
|
||||
PROVIDE ( esp_rom_spiflash_enable_write = 0x4000a2b8 );
|
||||
PROVIDE ( esp_rom_spiflash_write_status = 0x4000a01c );
|
||||
*/
|
||||
|
||||
/* always using patched versions of these functions
|
||||
PROVIDE ( esp_rom_spiflash_wait_idle = 0x40009e64 );
|
||||
PROVIDE ( esp_rom_spiflash_unlock = 0x400????? );
|
||||
*/
|
||||
PROVIDE ( cache_ibus_mmu_set_rom = cache_ibus_mmu_set );
|
||||
PROVIDE ( Cache_Read_Disable_rom = Cache_Read_Disable );
|
||||
PROVIDE ( Cache_Read_Enable_rom = Cache_Read_Enable );
|
||||
PROVIDE ( cache_dbus_mmu_set_rom = cache_dbus_mmu_set );
|
||||
PROVIDE ( g_rom_spiflash_dummy_len_plus = dummy_len_plus);
|
||||
PROVIDE ( g_ticks_per_us_pro = g_ticks_per_us );
|
||||
PROVIDE ( g_rom_flashchip = SPI_flashchip_data );
|
||||
PROVIDE ( g_rom_spiflash_chip = SPI_flashchip_data );
|
||||
PROVIDE ( esp_rom_spiflash_config_param = SPIParamCfg );
|
||||
PROVIDE ( esp_rom_spiflash_read = SPIRead );
|
||||
PROVIDE ( esp_rom_spiflash_read_status = SPI_read_status );
|
||||
PROVIDE ( esp_rom_spiflash_read_statushigh = SPI_read_status_high );
|
||||
PROVIDE ( esp_rom_spiflash_read_user_cmd = SPI_user_command_read );
|
||||
PROVIDE ( esp_rom_spiflash_write = SPIWrite );
|
||||
PROVIDE ( esp_rom_spiflash_write_encrypted_disable = SPI_Write_Encrypt_Disable );
|
||||
PROVIDE ( esp_rom_spiflash_write_encrypted_enable = SPI_Write_Encrypt_Enable );
|
||||
PROVIDE ( esp_rom_spiflash_config_clk = SPIClkConfig );
|
||||
PROVIDE ( esp_rom_spiflash_select_qio_pins = SelectSpiQIO );
|
||||
PROVIDE ( esp_rom_spiflash_unlock = SPIUnlock );
|
||||
PROVIDE ( esp_rom_spiflash_erase_sector = SPIEraseSector );
|
||||
|
@ -1,20 +0,0 @@
|
||||
PROVIDE ( cache_ibus_mmu_set_rom = cache_ibus_mmu_set );
|
||||
PROVIDE ( Cache_Read_Disable_rom = Cache_Read_Disable );
|
||||
PROVIDE ( Cache_Read_Enable_rom = Cache_Read_Enable );
|
||||
PROVIDE ( cache_dbus_mmu_set_rom = cache_dbus_mmu_set );
|
||||
PROVIDE ( g_rom_spiflash_dummy_len_plus = dummy_len_plus);
|
||||
PROVIDE ( g_ticks_per_us_pro = g_ticks_per_us );
|
||||
PROVIDE ( g_rom_flashchip = SPI_flashchip_data );
|
||||
PROVIDE ( g_rom_spiflash_chip = SPI_flashchip_data );
|
||||
PROVIDE ( esp_rom_spiflash_config_param = SPIParamCfg );
|
||||
PROVIDE ( esp_rom_spiflash_read = SPIRead );
|
||||
PROVIDE ( esp_rom_spiflash_read_status = SPI_read_status );
|
||||
PROVIDE ( esp_rom_spiflash_read_statushigh = SPI_read_status_high );
|
||||
PROVIDE ( esp_rom_spiflash_read_user_cmd = SPI_user_command_read );
|
||||
PROVIDE ( esp_rom_spiflash_write = SPIWrite );
|
||||
PROVIDE ( esp_rom_spiflash_write_encrypted_disable = SPI_Write_Encrypt_Disable );
|
||||
PROVIDE ( esp_rom_spiflash_write_encrypted_enable = SPI_Write_Encrypt_Enable );
|
||||
PROVIDE ( esp_rom_spiflash_config_clk = SPIClkConfig );
|
||||
PROVIDE ( esp_rom_spiflash_select_qio_pins = SelectSpiQIO );
|
||||
PROVIDE ( esp_rom_spiflash_unlock = SPIUnlock );
|
||||
PROVIDE ( esp_rom_spiflash_erase_sector = SPIEraseSector );
|
@ -0,0 +1,60 @@
|
||||
/* These ROM functions call respective entries in the syscall table.
|
||||
They are called by other ROM functions (mostly from newlib).
|
||||
We don't link to them directly, since in IDF there are actual
|
||||
implementations of these functions, with same names.
|
||||
|
||||
I.e.:
|
||||
|
||||
times (in ROM) -> _times_r (in ROM) -> syscall table entry _times_r -> _times_r (in IDF)
|
||||
|
||||
Hence the following entries are provided only for reference
|
||||
and commented out.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
PROVIDE ( calloc = 0x40015520 );
|
||||
PROVIDE ( _calloc_r = 0x40015234 );
|
||||
PROVIDE ( close = 0x4000848c );
|
||||
PROVIDE ( _close_r = 0x40015378 );
|
||||
PROVIDE ( free = 0x400154f4 );
|
||||
PROVIDE ( _free_r = 0x40015208 );
|
||||
PROVIDE ( _fstat_r = 0x40015308 );
|
||||
PROVIDE ( _getpid_r = 0x40015338 );
|
||||
PROVIDE ( __getreent = 0x400154c8 );
|
||||
PROVIDE ( _gettimeofday_r = 0x40015294 );
|
||||
PROVIDE ( _kill_r = 0x4001534c );
|
||||
PROVIDE ( _link_r = 0x400152d8 );
|
||||
PROVIDE ( _lock_acquire = 0x40015450 );
|
||||
PROVIDE ( _lock_acquire_recursive = 0x40015464 );
|
||||
PROVIDE ( _lock_close = 0x40015428 );
|
||||
PROVIDE ( _lock_close_recursive = 0x4001543c );
|
||||
PROVIDE ( _lock_init = 0x40015400 );
|
||||
PROVIDE ( _lock_init_recursive = 0x40015414 );
|
||||
PROVIDE ( _lock_release = 0x400154a0 );
|
||||
PROVIDE ( _lock_release_recursive = 0x400154b4 );
|
||||
PROVIDE ( _lock_try_acquire = 0x40015478 );
|
||||
PROVIDE ( _lock_try_acquire_recursive = 0x4001548c );
|
||||
PROVIDE ( _lseek_r = 0x400153c8 );
|
||||
PROVIDE ( malloc = 0x400154dc );
|
||||
PROVIDE ( _malloc_r = 0x400151f0 );
|
||||
PROVIDE ( open = 0x400084a0 );
|
||||
PROVIDE ( _open_r = 0x40015390 );
|
||||
PROVIDE ( _raise_r = 0x400152ac );
|
||||
PROVIDE ( read = 0x400084f0 );
|
||||
PROVIDE ( _read_r = 0x400153e4 );
|
||||
PROVIDE ( realloc = 0x40015508 );
|
||||
PROVIDE ( _realloc_r = 0x4001521c );
|
||||
PROVIDE ( _rename_r = 0x40015264 );
|
||||
PROVIDE ( sbrk = 0x40008508 );
|
||||
PROVIDE ( _sbrk_r = 0x40015320 );
|
||||
PROVIDE ( _stat_r = 0x400152f0 );
|
||||
PROVIDE ( _system_r = 0x4001524c );
|
||||
PROVIDE ( _times_r = 0x4001527c );
|
||||
PROVIDE ( _unlink_r = 0x400152c0 );
|
||||
PROVIDE ( write = 0x4000851c );
|
||||
PROVIDE ( _write_r = 0x400153ac );
|
||||
PROVIDE ( _isatty_r = 0x40007c7c );
|
||||
PROVIDE ( _exit_r = 0x40015364 );
|
||||
|
||||
*/
|
@ -1,143 +0,0 @@
|
||||
/*
|
||||
If the Newlib functions in ROM aren't used (eg because the external SPI RAM workaround is active), these functions will
|
||||
be linked into the application directly instead. Normally, they would end up in flash, which is undesirable because esp-idf
|
||||
and/or applications may assume that because these functions normally are in ROM, they are accessible even when flash is
|
||||
inaccessible. To work around this, this ld fragment places these functions in RAM instead. If the ROM functions are used,
|
||||
these defines do nothing, so they can still be included in that situation.
|
||||
|
||||
This file is responsible for placing the rodata segment in DRAM.
|
||||
*/
|
||||
|
||||
*lib_a-utoa.o(.rodata .rodata.*)
|
||||
*lib_a-longjmp.o(.rodata .rodata.*)
|
||||
*lib_a-setjmp.o(.rodata .rodata.*)
|
||||
*lib_a-abs.o(.rodata .rodata.*)
|
||||
*lib_a-div.o(.rodata .rodata.*)
|
||||
*lib_a-labs.o(.rodata .rodata.*)
|
||||
*lib_a-ldiv.o(.rodata .rodata.*)
|
||||
*lib_a-quorem.o(.rodata .rodata.*)
|
||||
*lib_a-qsort.o(.rodata .rodata.*)
|
||||
*lib_a-utoa.o(.rodata .rodata.*)
|
||||
*lib_a-itoa.o(.rodata .rodata.*)
|
||||
*lib_a-atoi.o(.rodata .rodata.*)
|
||||
*lib_a-atol.o(.rodata .rodata.*)
|
||||
*lib_a-strtol.o(.rodata .rodata.*)
|
||||
*lib_a-strtoul.o(.rodata .rodata.*)
|
||||
*lib_a-wcrtomb.o(.rodata .rodata.*)
|
||||
*lib_a-fvwrite.o(.rodata .rodata.*)
|
||||
*lib_a-wbuf.o(.rodata .rodata.*)
|
||||
*lib_a-wsetup.o(.rodata .rodata.*)
|
||||
*lib_a-fputwc.o(.rodata .rodata.*)
|
||||
*lib_a-wctomb_r.o(.rodata .rodata.*)
|
||||
*lib_a-ungetc.o(.rodata .rodata.*)
|
||||
*lib_a-makebuf.o(.rodata .rodata.*)
|
||||
*lib_a-fflush.o(.rodata .rodata.*)
|
||||
*lib_a-refill.o(.rodata .rodata.*)
|
||||
*lib_a-s_fpclassify.o(.rodata .rodata.*)
|
||||
*lib_a-locale.o(.rodata .rodata.*)
|
||||
*lib_a-asctime.o(.rodata .rodata.*)
|
||||
*lib_a-ctime.o(.rodata .rodata.*)
|
||||
*lib_a-ctime_r.o(.rodata .rodata.*)
|
||||
*lib_a-lcltime.o(.rodata .rodata.*)
|
||||
*lib_a-lcltime_r.o(.rodata .rodata.*)
|
||||
*lib_a-gmtime.o(.rodata .rodata.*)
|
||||
*lib_a-gmtime_r.o(.rodata .rodata.*)
|
||||
*lib_a-strftime.o(.rodata .rodata.*)
|
||||
*lib_a-mktime.o(.rodata .rodata.*)
|
||||
*lib_a-syswrite.o(.rodata .rodata.*)
|
||||
*lib_a-tzset_r.o(.rodata .rodata.*)
|
||||
*lib_a-tzset.o(.rodata .rodata.*)
|
||||
*lib_a-toupper.o(.rodata .rodata.*)
|
||||
*lib_a-tolower.o(.rodata .rodata.*)
|
||||
*lib_a-toascii.o(.rodata .rodata.*)
|
||||
*lib_a-systimes.o(.rodata .rodata.*)
|
||||
*lib_a-time.o(.rodata .rodata.*)
|
||||
*lib_a-bsd_qsort_r.o(.rodata .rodata.*)
|
||||
*lib_a-qsort_r.o(.rodata .rodata.*)
|
||||
*lib_a-gettzinfo.o(.rodata .rodata.*)
|
||||
*lib_a-strupr.o(.rodata .rodata.*)
|
||||
*lib_a-asctime_r.o(.rodata .rodata.*)
|
||||
*lib_a-bzero.o(.rodata .rodata.*)
|
||||
*lib_a-close.o(.rodata .rodata.*)
|
||||
*lib_a-creat.o(.rodata .rodata.*)
|
||||
*lib_a-environ.o(.rodata .rodata.*)
|
||||
*lib_a-fclose.o(.rodata .rodata.*)
|
||||
*lib_a-isalnum.o(.rodata .rodata.*)
|
||||
*lib_a-isalpha.o(.rodata .rodata.*)
|
||||
*lib_a-isascii.o(.rodata .rodata.*)
|
||||
*lib_a-isblank.o(.rodata .rodata.*)
|
||||
*lib_a-iscntrl.o(.rodata .rodata.*)
|
||||
*lib_a-isdigit.o(.rodata .rodata.*)
|
||||
*lib_a-isgraph.o(.rodata .rodata.*)
|
||||
*lib_a-islower.o(.rodata .rodata.*)
|
||||
*lib_a-isprint.o(.rodata .rodata.*)
|
||||
*lib_a-ispunct.o(.rodata .rodata.*)
|
||||
*lib_a-isspace.o(.rodata .rodata.*)
|
||||
*lib_a-isupper.o(.rodata .rodata.*)
|
||||
*lib_a-memccpy.o(.rodata .rodata.*)
|
||||
*lib_a-memchr.o(.rodata .rodata.*)
|
||||
*lib_a-memcmp.o(.rodata .rodata.*)
|
||||
*lib_a-memcpy.o(.rodata .rodata.*)
|
||||
*lib_a-memmove.o(.rodata .rodata.*)
|
||||
*lib_a-memrchr.o(.rodata .rodata.*)
|
||||
*lib_a-memset.o(.rodata .rodata.*)
|
||||
*lib_a-open.o(.rodata .rodata.*)
|
||||
*lib_a-rand.o(.rodata .rodata.*)
|
||||
*lib_a-rand_r.o(.rodata .rodata.*)
|
||||
*lib_a-read.o(.rodata .rodata.*)
|
||||
*lib_a-rshift.o(.rodata .rodata.*)
|
||||
*lib_a-sbrk.o(.rodata .rodata.*)
|
||||
*lib_a-srand.o(.rodata .rodata.*)
|
||||
*lib_a-strcasecmp.o(.rodata .rodata.*)
|
||||
*lib_a-strcasestr.o(.rodata .rodata.*)
|
||||
*lib_a-strcat.o(.rodata .rodata.*)
|
||||
*lib_a-strchr.o(.rodata .rodata.*)
|
||||
*lib_a-strcmp.o(.rodata .rodata.*)
|
||||
*lib_a-strcoll.o(.rodata .rodata.*)
|
||||
*lib_a-strcpy.o(.rodata .rodata.*)
|
||||
*lib_a-strcspn.o(.rodata .rodata.*)
|
||||
*lib_a-strdup.o(.rodata .rodata.*)
|
||||
*lib_a-strlcat.o(.rodata .rodata.*)
|
||||
*lib_a-strlcpy.o(.rodata .rodata.*)
|
||||
*lib_a-strlen.o(.rodata .rodata.*)
|
||||
*lib_a-strlwr.o(.rodata .rodata.*)
|
||||
*lib_a-strncasecmp.o(.rodata .rodata.*)
|
||||
*lib_a-strncat.o(.rodata .rodata.*)
|
||||
*lib_a-strncmp.o(.rodata .rodata.*)
|
||||
*lib_a-strncpy.o(.rodata .rodata.*)
|
||||
*lib_a-strndup.o(.rodata .rodata.*)
|
||||
*lib_a-strnlen.o(.rodata .rodata.*)
|
||||
*lib_a-strrchr.o(.rodata .rodata.*)
|
||||
*lib_a-strsep.o(.rodata .rodata.*)
|
||||
*lib_a-strspn.o(.rodata .rodata.*)
|
||||
*lib_a-strstr.o(.rodata .rodata.*)
|
||||
*lib_a-strtok_r.o(.rodata .rodata.*)
|
||||
*lib_a-strupr.o(.rodata .rodata.*)
|
||||
*lib_a-stdio.o(.rodata .rodata.*)
|
||||
*lib_a-syssbrk.o(.rodata .rodata.*)
|
||||
*lib_a-sysclose.o(.rodata .rodata.*)
|
||||
*lib_a-sysopen.o(.rodata .rodata.*)
|
||||
*creat.o(.rodata .rodata.*)
|
||||
*lib_a-sysread.o(.rodata .rodata.*)
|
||||
*lib_a-syswrite.o(.rodata .rodata.*)
|
||||
*lib_a-impure.o(.rodata .rodata.*)
|
||||
*lib_a-tzvars.o(.rodata .rodata.*)
|
||||
*lib_a-sf_nan.o(.rodata .rodata.*)
|
||||
*lib_a-tzcalc_limits.o(.rodata .rodata.*)
|
||||
*lib_a-month_lengths.o(.rodata .rodata.*)
|
||||
*lib_a-timelocal.o(.rodata .rodata.*)
|
||||
*lib_a-findfp.o(.rodata .rodata.*)
|
||||
*lock.o(.rodata .rodata.*)
|
||||
*lib_a-getenv_r.o(.rodata .rodata.*)
|
||||
*isatty.o(.rodata .rodata.*)
|
||||
*lib_a-fwalk.o(.rodata .rodata.*)
|
||||
*lib_a-getenv_r.o(.rodata .rodata.*)
|
||||
*lib_a-tzlock.o(.rodata .rodata.*)
|
||||
*lib_a-ctype_.o(.rodata .rodata.*)
|
||||
*lib_a-sccl.o(.rodata .rodata.*)
|
||||
*lib_a-strptime.o(.rodata .rodata.*)
|
||||
*lib_a-envlock.o(.rodata .rodata.*)
|
||||
*lib_a-raise.o(.rodata .rodata.*)
|
||||
*lib_a-strdup_r.o(.rodata .rodata.*)
|
||||
*lib_a-system.o(.rodata .rodata.*)
|
||||
*lib_a-strndup_r.o(.rodata .rodata.*)
|
@ -1,144 +0,0 @@
|
||||
/*
|
||||
If the Newlib functions in ROM aren't used (eg because the external SPI RAM workaround is active), these functions will
|
||||
be linked into the application directly instead. Normally, they would end up in flash, which is undesirable because esp-idf
|
||||
and/or applications may assume that because these functions normally are in ROM, they are accessible even when flash is
|
||||
inaccessible. To work around this, this ld fragment places these functions in RAM instead. If the ROM functions are used,
|
||||
these defines do nothing, so they can still be included in that situation.
|
||||
|
||||
This file is responsible for placing the literal and text segments in IRAM.
|
||||
*/
|
||||
|
||||
|
||||
*lib_a-utoa.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-longjmp.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-setjmp.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-abs.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-div.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-labs.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-ldiv.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-quorem.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-qsort.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-utoa.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-itoa.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-atoi.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-atol.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strtol.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strtoul.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-wcrtomb.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-fvwrite.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-wbuf.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-wsetup.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-fputwc.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-wctomb_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-ungetc.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-makebuf.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-fflush.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-refill.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-s_fpclassify.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-locale.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-asctime.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-ctime.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-ctime_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-lcltime.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-lcltime_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-gmtime.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-gmtime_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strftime.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-mktime.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-syswrite.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-tzset_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-tzset.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-toupper.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-tolower.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-toascii.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-systimes.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-time.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-bsd_qsort_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-qsort_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-gettzinfo.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strupr.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-asctime_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-bzero.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-close.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-creat.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-environ.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-fclose.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-isalnum.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-isalpha.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-isascii.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-isblank.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-iscntrl.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-isdigit.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-isgraph.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-islower.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-isprint.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-ispunct.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-isspace.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-isupper.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-memccpy.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-memchr.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-memcmp.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-memcpy.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-memmove.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-memrchr.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-memset.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-open.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-rand.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-rand_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-read.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-rshift.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-sbrk.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-srand.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strcasecmp.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strcasestr.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strcat.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strchr.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strcmp.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strcoll.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strcpy.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strcspn.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strdup.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strlcat.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strlcpy.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strlen.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strlwr.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strncasecmp.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strncat.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strncmp.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strncpy.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strndup.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strnlen.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strrchr.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strsep.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strspn.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strstr.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strtok_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strupr.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-stdio.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-syssbrk.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-sysclose.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-sysopen.o(.literal .text .literal.* .text.*)
|
||||
*creat.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-sysread.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-syswrite.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-impure.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-tzvars.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-sf_nan.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-tzcalc_limits.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-month_lengths.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-timelocal.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-findfp.o(.literal .text .literal.* .text.*)
|
||||
*lock.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-getenv_r.o(.literal .text .literal.* .text.*)
|
||||
*isatty.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-fwalk.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-getenv_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-tzlock.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-ctype_.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-sccl.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strptime.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-envlock.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-raise.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strdup_r.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-system.o(.literal .text .literal.* .text.*)
|
||||
*lib_a-strndup_r.o(.literal .text .literal.* .text.*)
|
Loading…
x
Reference in New Issue
Block a user