You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gu...@apache.org on 2021/10/01 13:09:16 UTC

[incubator-nuttx] 03/03: esp32s2_rom.ld: Add a strong declaration of some libgcc functions that are ROM resident.

This is an automated email from the ASF dual-hosted git repository.

gustavonihei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 284c6f50e4df5a224a150972365c63ff78db523c
Author: Abdelatif Guettouche <ab...@espressif.com>
AuthorDate: Thu Sep 30 16:23:33 2021 +0200

    esp32s2_rom.ld: Add a strong declaration of some libgcc functions that are
    ROM resident.
    
    Signed-off-by: Abdelatif Guettouche <ab...@espressif.com>
---
 .../esp32s2/esp32s2-saola-1/scripts/esp32s2_rom.ld | 99 ++++++++++++++++++++++
 1 file changed, 99 insertions(+)

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 61d252a..e430f33 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;