diff --git a/boards/xtensa/esp32s2/esp32s2-saola-1/scripts/esp32s2_rom.ld b/boards/xtensa/esp32s2/esp32s2-saola-1/scripts/esp32s2_rom.ld index 61d252ab4f6..e430f33a931 100644 --- a/boards/xtensa/esp32s2/esp32s2-saola-1/scripts/esp32s2_rom.ld +++ b/boards/xtensa/esp32s2/esp32s2-saola-1/scripts/esp32s2_rom.ld @@ -815,3 +815,102 @@ PROVIDE ( strlcpy = 0x4001adf8 ); PROVIDE ( strncpy = 0x40007f20 ); PROVIDE ( strlen = 0x40007e08 ); PROVIDE ( strnlen = 0x4001ae9c ); + +/* Unlike other ROM functions which are exported using PROVIDE, which declares weak symbols, + * these libgcc functions are exported using assignment, which declare strong symbols. + * This is done so that ROM functions are always used instead of the ones provided by libgcc.a. + */ + +__absvdi2 = 0x40005ad8; +__absvsi2 = 0x40005ac4; +__adddf3 = 0x40008660; +__addsf3 = 0x400081b8; +__addvdi3 = 0x40008d90; +__addvsi3 = 0x40008d6c; +__ashldi3 = 0x4001b000; +__ashrdi3 = 0x4001b018; +__bswapdi2 = 0x40006d34; +__bswapsi2 = 0x40006d0c; +__clear_cache = 0x40005abc; +__clrsbdi2 = 0x40006da8; +__clrsbsi2 = 0x40006d90; +__clzdi2 = 0x4001b238; +__clzsi2 = 0x4001afd0; +__cmpdi2 = 0x40005a7c; +__ctzdi2 = 0x4001b24c; +__ctzsi2 = 0x4001afd8; +__divdc3 = 0x40006854; +__divdf3 = 0x40008a24; +__divdi3 = 0x4001b26c; +__divsc3 = 0x40006544; +__divsf3 = 0x4000841c; +__divsi3 = 0x4001afa0; +__eqdf2 = 0x40005904; +__eqsf2 = 0x400055d0; +__extendsfdf2 = 0x40008d08; +__ffsdi2 = 0x4001b214; +__ffssi2 = 0x4001afec; +__fixdfdi = 0x40008b98; +__fixdfsi = 0x40008b4c; +__fixsfdi = 0x4000851c; +__fixsfsi = 0x400084dc; +__fixunsdfsi = 0x40008c04; +__fixunssfdi = 0x400085d4; +__fixunssfsi = 0x4000857c; +__floatdidf = 0x4001b170; +__floatdisf = 0x4001b0a8; +__floatsidf = 0x4001b12c; +__floatsisf = 0x4001b058; +__floatundidf = 0x4001b160; +__floatundisf = 0x4001b098; +__floatunsidf = 0x4001b120; +__floatunsisf = 0x4001b04c; +__gcc_bcmp = 0x40006de0; +__gedf2 = 0x400059c4; +__gesf2 = 0x40005668; +__gtdf2 = 0x40005938; +__gtsf2 = 0x400055fc; +__ledf2 = 0x40005960; +__lesf2 = 0x4000561c; +__lshrdi3 = 0x4001b034; +__ltdf2 = 0x400059ec; +__ltsf2 = 0x40005688; +__moddi3 = 0x4001b534; +__modsi3 = 0x4001afa8; +__muldc3 = 0x40005f0c; +__muldf3 = 0x400057e8; +__muldi3 = 0x4001b1e4; +__mulsc3 = 0x40005ba4; +__mulsf3 = 0x40005524; +__mulsi3 = 0x4001af98; +__mulvdi3 = 0x40008e50; +__mulvsi3 = 0x40008e38; +__nedf2 = 0x40005904; +__negdf2 = 0x400056fc; +__negdi2 = 0x4001b1fc; +__negsf2 = 0x40008190; +__negvdi2 = 0x40008f6c; +__negvsi2 = 0x40008f4c; +__nesf2 = 0x400055d0; +__nsau_data = 0x3ffac870; +__paritysi2 = 0x40009038; +__popcountdi2 = 0x40008fe0; +__popcountsi2 = 0x40008fa8; +__popcount_tab = 0x3ffac870; +__powidf2 = 0x40005b40; +__powisf2 = 0x40005af8; +__subdf3 = 0x400087b4; +__subsf3 = 0x400082a0; +__subvdi3 = 0x40008df4; +__subvsi3 = 0x40008dd0; +__truncdfsf2 = 0x40008c64; +__ucmpdi2 = 0x40005a9c; +__udivdi3 = 0x4001b7dc; +__udivmoddi4 = 0x40006e20; +__udivsi3 = 0x4001afb0; +__udiv_w_sdiv = 0x40006e18; +__umoddi3 = 0x4001ba60; +__umodsi3 = 0x4001afb8; +__umulsidi3 = 0x4001afc0; +__unorddf2 = 0x40005a50; +__unordsf2 = 0x400056d4;