Hi Szabolcs, I am having one c and other cpp file and using g++ for linking. I do have libgcc_s.so.1 lib added. When I looked into generated elf I do see .so dependencies but order of libgcc_s.so.1 is second. I am assuming this is not the problem. 0x00000001 (NEEDED) Shared library: [libstdc++.so.6] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x00000001 (NEEDED) Shared library: [libc.so] > > > these symbols should be defined in libgcc_s.so.1 > > which is linked to c++ code by gcc. > Also searching online I saw some issues with versions for GLIBCXX but don't know how to confirm if this is not the problem with MUSL toolchain I generated. ersion needs section '.gnu.version_r' contains 1 entries: Addr: 0x0000000000010634 Offset: 0x000634 Link: 4 (.dynstr) 000000: Version: 1 File: libstdc++.so.6 Cnt: 3 0x0010: Name: GLIBCXX_3.4.9 Flags: none Version: 4 0x0020: Name: GLIBCXX_3.4.11 Flags: none Version: 3 0x0030: Name: GLIBCXX_3.4 Flags: none Version: 2 > > sounds like a gcc toolchain issue, if you cannot > > figure it out then post > > > echo 'int main(){}' |g++ -xc++ - > I am not sure where to issue this command ? > > > readelf -ld ./a.out > Result ------------ Elf file type is EXEC (Executable file) Entry point 0x109fc There are 7 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align EXIDX 0x000c08 0x00010c08 0x00010c08 0x00008 0x00008 R 0x4 PHDR 0x000034 0x00010034 0x00010034 0x000e0 0x000e0 R E 0x4 INTERP 0x000114 0x00010114 0x00010114 0x00016 0x00016 R 0x1 [Requesting program interpreter: /lib/ld-musl-arm.so.1] LOAD 0x000000 0x00010000 0x00010000 0x00c14 0x00c14 R E 0x10000 LOAD 0x000c14 0x00020c14 0x00020c14 0x00154 0x0020c RW 0x10000 DYNAMIC 0x000c24 0x00020c24 0x00020c24 0x000f8 0x000f8 RW 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10 Section to Segment mapping: Segment Sections... 00 .ARM.exidx 01 02 .interp 03 .interp .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .ARM.exidx .eh_frame 04 .init_array .fini_array .jcr .dynamic .got .data .bss 05 .dynamic 06 Dynamic section at offset 0xc24 contains 26 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libstdc++.so.6] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x00000001 (NEEDED) Shared library: [libc.so] 0x0000000c (INIT) 0x106fc 0x0000000d (FINI) 0x10b68 0x00000019 (INIT_ARRAY) 0x20c14 0x0000001b (INIT_ARRAYSZ) 8 (bytes) 0x0000001a (FINI_ARRAY) 0x20c1c 0x0000001c (FINI_ARRAYSZ) 4 (bytes) 0x00000004 (HASH) 0x1012c 0x00000005 (STRTAB) 0x103bc 0x00000006 (SYMTAB) 0x101ec 0x0000000a (STRSZ) 573 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000015 (DEBUG) 0x0 0x00000003 (PLTGOT) 0x20d1c 0x00000002 (PLTRELSZ) 120 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x10684 0x00000011 (REL) 0x10674 0x00000012 (RELSZ) 16 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffe (VERNEED) 0x10634 0x6fffffff (VERNEEDNUM) 1 0x6ffffff0 (VERSYM) 0x105fa 0x00000000 (NULL) 0x0 > > strace /lib/ld-musl-*.so.1 ./a.out > I don't have strace capability in my toolchain. > > readelf -d /lib/libstdc++.so.6 > Result ------------ Dynamic section at offset 0x126f00 contains 28 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libc.so] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x0000000e (SONAME) Library soname: [libstdc++.so.6] 0x0000000c (INIT) 0x68280 0x0000000d (FINI) 0x1100f8 0x00000019 (INIT_ARRAY) 0x1329ec 0x0000001b (INIT_ARRAYSZ) 44 (bytes) 0x0000001a (FINI_ARRAY) 0x132a18 0x0000001c (FINI_ARRAYSZ) 4 (bytes) 0x00000004 (HASH) 0x114 0x00000005 (STRTAB) 0x1c8a8 0x00000006 (SYMTAB) 0x75c8 0x0000000a (STRSZ) 259844 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000003 (PLTGOT) 0x137000 0x00000002 (PLTRELSZ) 6832 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x667d0 0x00000011 (REL) 0x5eef0 0x00000012 (RELSZ) 30944 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffc (VERDEF) 0x5ea08 0x6ffffffd (VERDEFNUM) 34 0x6ffffffe (VERNEED) 0x5eeb0 0x6fffffff (VERNEEDNUM) 1 0x6ffffff0 (VERSYM) 0x5bfac 0x6ffffffa (RELCOUNT) 796 0x00000000 (NULL) 0x0 > > readelf -aW /lib/libstdc++.so.6 |grep Unwind > Result ------------ 00137214 00036116 R_ARM_JUMP_SLOT 00000000 _Unwind_GetRegionStart 00137254 0003d116 R_ARM_JUMP_SLOT 00000000 _Unwind_GetTextRelBase 00137268 0003de16 R_ARM_JUMP_SLOT 00000000 _Unwind_RaiseException 00137330 00051c16 R_ARM_JUMP_SLOT 00000000 _Unwind_Resume_or_Rethrow 00137510 00083616 R_ARM_JUMP_SLOT 00000000 _Unwind_GetLanguageSpecificData 0013757c 0008d916 R_ARM_JUMP_SLOT 00000000 _Unwind_VRS_Get 001377f4 000d0016 R_ARM_JUMP_SLOT 00000000 _Unwind_Complete 00137954 000ee216 R_ARM_JUMP_SLOT 00000000 _Unwind_GetDataRelBase 00137b2c 0011f216 R_ARM_JUMP_SLOT 00000000 _Unwind_VRS_Set 00137bec 00131d16 R_ARM_JUMP_SLOT 00000000 _Unwind_DeleteException 00137c70 0013d416 R_ARM_JUMP_SLOT 00000000 _Unwind_Resume Unwind table index '.ARM.exidx' at offset 0x11d9e4 contains 2164 entries: 0x6e11c <_ZL21base_of_encoded_valuehP15_Unwind_Context>: 0x80a8b0b0 0x6e190 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info>: 0x80acb0b0 0x6e990 <_ZL33__gxx_dependent_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block>: 0x80a8b0b0 0x6ee4c <_ZL22free_any_cxa_exceptionP21_Unwind_Control_Block>: 0x1 [cantunwind] 0x6f00c <_ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block>: 0x80a8b0b0 865: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_GetRegionStart@GCC_3.0 (36) 977: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_GetTextRelBase@GCC_3.0 (36) 990: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_RaiseException@GCC_3.0 (36) 1308: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_Resume_or_Rethrow@GCC_3.3 (37) 2102: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_GetLanguageSpecificData@GCC_3.0 (36) 2265: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_VRS_Get@GCC_3.5 (35) 3328: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_Complete@GCC_3.5 (35) 3810: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_GetDataRelBase@GCC_3.0 (36) 4594: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_VRS_Set@GCC_3.5 (35) 4893: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_DeleteException@GCC_3.0 (36) 5076: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_Resume@GCC_3.0 (36) 4923: 0006e11c 116 FUNC LOCAL DEFAULT 11 _ZL21base_of_encoded_valuehP15_Unwind_Context 4926: 0006e190 224 FUNC LOCAL DEFAULT 11 _ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info 4934: 0006e990 104 FUNC LOCAL DEFAULT 11 _ZL33__gxx_dependent_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block 4995: 0006ee4c 84 FUNC LOCAL DEFAULT 11 _ZL22free_any_cxa_exceptionP21_Unwind_Control_Block 5001: 0006f00c 96 FUNC LOCAL DEFAULT 11 _ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block 13579: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_GetRegionStart@ @GCC_3.0 13691: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_GetTextRelBase@ @GCC_3.0 13704: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_RaiseException@ @GCC_3.0 14022: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_Resume_or_Rethrow@@GCC_3.3 14816: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_GetLanguageSpecificData@@GCC_3.0 14979: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_VRS_Get@@GCC_3.5 16042: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_Complete@@GCC_3.5 16524: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_GetDataRelBase@ @GCC_3.0 17308: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_VRS_Set@@GCC_3.5 17607: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_DeleteException@ @GCC_3.0 17790: 00000000 0 FUNC GLOBAL DEFAULT UND _Unwind_Resume@@GCC_3.0 > > readelf -aW /lib/libgcc_s.so.1 |grep Unwin > Result ------------ 0002c1f0 0003a015 R_ARM_GLOB_DAT 00000000 __gnu_Unwind_Find_exidx 0002c108 00003016 R_ARM_JUMP_SLOT 0001b374 _Unwind_GetDataRelBase 0002c118 00007816 R_ARM_JUMP_SLOT 0001a2fc _Unwind_VRS_Set 0002c128 00012e16 R_ARM_JUMP_SLOT 0001b350 _Unwind_GetLanguageSpecificData 0002c154 00028316 R_ARM_JUMP_SLOT 0001a900 _Unwind_VRS_Pop 0002c178 00035e16 R_ARM_JUMP_SLOT 0001b340 _Unwind_GetRegionStart 0002c17c 00038116 R_ARM_JUMP_SLOT 0001b36c _Unwind_GetTextRelBase 0002c180 0003a016 R_ARM_JUMP_SLOT 00000000 __gnu_Unwind_Find_exidx 0002c198 00042616 R_ARM_JUMP_SLOT 0001a274 _Unwind_VRS_Get Unwind table index '.ARM.exidx' at offset 0x1bd38 contains 34 entries: 0x19f00 <_Unwind_decode_typeinfo_ptr.isra.0>: 0x1 [cantunwind] 0x1a0f0 <_Unwind_GetCFA>: 0x1 [cantunwind] 0x1a0f8 <__gnu_Unwind_RaiseException>: 0x80383fab 0x1a1a0 <__gnu_Unwind_ForcedUnwind>: 0x1 [cantunwind] 0x1a1c4 <__gnu_Unwind_Resume>: 0x80aab0b0 0x1a238 <__gnu_Unwind_Resume_or_Rethrow>: 0x1 [cantunwind] 0x1a2d0 <_Unwind_GetGR>: 0x80048400 0x1a2fc <_Unwind_VRS_Set>: 0x1 [cantunwind] 0x1a358 <_Unwind_SetGR>: 0x80048400 0x1a384 <__gnu_Unwind_Backtrace>: 0x80b20dac 0x1a900 <_Unwind_VRS_Pop>: 0x80033fac 0x1aed4 <_Unwind_GetGR.constprop.1>: 0x80048400 0x1b340 <_Unwind_GetRegionStart>: 0x80a8b0b0 0x1b36c <_Unwind_GetTextRelBase.localalias.0>: 0x1 [cantunwind] 0x1b638 <_Unwind_SetGR>: 0x80048400 48: 0001b374 4 FUNC GLOBAL DEFAULT 10 _Unwind_GetDataRelBase@ @GCC_3.0 120: 0001a2fc 92 FUNC GLOBAL DEFAULT 10 _Unwind_VRS_Set@@GCC_3.5 302: 0001b350 28 FUNC GLOBAL DEFAULT 10 _Unwind_GetLanguageSpecificData@@GCC_3.0 352: 0001a258 4 FUNC GLOBAL DEFAULT 10 _Unwind_Complete@@GCC_3.5 356: 0001a25c 24 FUNC GLOBAL DEFAULT 10 _Unwind_DeleteException@ @GCC_3.0 620: 0001ae04 36 FUNC GLOBAL DEFAULT 10 _Unwind_Resume_or_Rethrow@@GCC_3.3 643: 0001a900 968 FUNC GLOBAL DEFAULT 10 _Unwind_VRS_Pop@@GCC_3.5 719: 0001ae28 36 FUNC GLOBAL DEFAULT 10 _Unwind_ForcedUnwind@ @GCC_3.0 793: 0001adbc 36 FUNC GLOBAL DEFAULT 10 _Unwind_RaiseException@ @GCC_3.0 835: 0001ae4c 36 FUNC GLOBAL DEFAULT 10 _Unwind_Backtrace@ @GCC_4.3.0 862: 0001b340 16 FUNC GLOBAL DEFAULT 10 _Unwind_GetRegionStart@ @GCC_3.0 897: 0001b36c 8 FUNC GLOBAL DEFAULT 10 _Unwind_GetTextRelBase@ @GCC_3.0 915: 0001a0f0 8 FUNC GLOBAL DEFAULT 10 _Unwind_GetCFA@@GCC_3.3 928: 00000000 0 FUNC WEAK DEFAULT UND __gnu_Unwind_Find_exidx 1062: 0001a274 92 FUNC GLOBAL DEFAULT 10 _Unwind_VRS_Get@@GCC_3.5 1069: 0001ade0 36 FUNC GLOBAL DEFAULT 10 _Unwind_Resume@@GCC_3.0 1351: 00019f00 20 FUNC LOCAL DEFAULT 10 _Unwind_decode_typeinfo_ptr.isra.0 1353: 00019f1c 4 FUNC LOCAL DEFAULT 10 _Unwind_DebugHook 1356: 0001a2d0 44 FUNC LOCAL DEFAULT 10 _Unwind_GetGR 1357: 0001a358 44 FUNC LOCAL DEFAULT 10 _Unwind_SetGR 1365: 0001aed4 44 FUNC LOCAL DEFAULT 10 _Unwind_GetGR.constprop.1 1367: 0001b36c 8 FUNC LOCAL DEFAULT 10 _Unwind_GetTextRelBase.localalias.0 1376: 0001b638 44 FUNC LOCAL DEFAULT 10 _Unwind_SetGR 1377: 0001b664 44 FUNC LOCAL DEFAULT 10 _Unwind_GetGR.constprop.0 1421: 0001ad50 0 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Save_WMMXD 1423: 0001a238 32 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Resume_or_Rethrow 1427: 0001ae04 36 FUNC LOCAL DEFAULT 10 ___Unwind_Resume_or_Rethrow 1429: 0001ace4 0 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Save_VFP 1438: 0001acec 0 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Restore_VFP_D 1440: 0001a0f8 168 FUNC LOCAL DEFAULT 10 __gnu_Unwind_RaiseException 1441: 0001acf4 0 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Save_VFP_D 1501: 0001ae4c 36 FUNC LOCAL DEFAULT 10 ___Unwind_Backtrace 1508: 0001ad04 0 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Save_VFP_D_16_to_31 1513: 0001acfc 0 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Restore_VFP_D_16_to_31 1528: 0001ad0c 0 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Restore_WMMXD 1533: 0001ad94 0 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Restore_WMMXC 1539: 0001ae28 36 FUNC LOCAL DEFAULT 10 ___Unwind_ForcedUnwind 1547: 0001adbc 36 FUNC LOCAL DEFAULT 10 ___Unwind_RaiseException 1557: 0001a1a0 36 FUNC LOCAL DEFAULT 10 __gnu_Unwind_ForcedUnwind 1559: 0001ade0 36 FUNC LOCAL DEFAULT 10 ___Unwind_Resume 1569: 0001a1c4 116 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Resume 1574: 0001ada8 0 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Save_WMMXC 1589: 0001a384 200 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Backtrace 1590: 0001acdc 0 FUNC LOCAL DEFAULT 10 __gnu_Unwind_Restore_VFP 1663: 0001b374 4 FUNC GLOBAL DEFAULT 10 _Unwind_GetDataRelBase 1735: 0001a2fc 92 FUNC GLOBAL DEFAULT 10 _Unwind_VRS_Set 1917: 0001b350 28 FUNC GLOBAL DEFAULT 10 _Unwind_GetLanguageSpecificData 1967: 0001a258 4 FUNC GLOBAL DEFAULT 10 _Unwind_Complete 1971: 0001a25c 24 FUNC GLOBAL DEFAULT 10 _Unwind_DeleteException 2235: 0001ae04 36 FUNC GLOBAL DEFAULT 10 _Unwind_Resume_or_Rethrow 2258: 0001a900 968 FUNC GLOBAL DEFAULT 10 _Unwind_VRS_Pop 2334: 0001ae28 36 FUNC GLOBAL DEFAULT 10 _Unwind_ForcedUnwind 2408: 0001adbc 36 FUNC GLOBAL DEFAULT 10 _Unwind_RaiseException 2450: 0001ae4c 36 FUNC GLOBAL DEFAULT 10 _Unwind_Backtrace 2477: 0001b340 16 FUNC GLOBAL DEFAULT 10 _Unwind_GetRegionStart 2512: 0001b36c 8 FUNC GLOBAL DEFAULT 10 _Unwind_GetTextRelBase 2530: 0001a0f0 8 FUNC GLOBAL DEFAULT 10 _Unwind_GetCFA 2543: 00000000 0 FUNC WEAK DEFAULT UND __gnu_Unwind_Find_exidx 2677: 0001a274 92 FUNC GLOBAL DEFAULT 10 _Unwind_VRS_Get 2684: 0001ade0 36 FUNC GLOBAL DEFAULT 10 _Unwind_Resume Thanks,