We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I using Arm cross gcc, I need to link a newer version of a library (glibc 2.4) but the executable needs to run on a system with an older version (2.31).The GNU toolchain version is Cortex-A "gcc-arm-10.2-2020.11-mingw-w64-i686-arm-none-linux-gnueabihf", ELF found out some incompatible symbols as memcpy (needing memcpy@GLIBC_2.4 but the library providing memcpy@GLIBC_2.31)emset(........)
ELF message as below:Symbol table '.dynsym' contains 8 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000 0 FUNC GLOBAL DEFAULT UND memset@GLIBC_2.4 (2) 2: 00000000 0 FUNC GLOBAL DEFAULT UND strlen@GLIBC_2.4 (2) 3: 00000000 0 FUNC GLOBAL DEFAULT UND sprintf@GLIBC_2.4 (2) 4: 00000000 0 FUNC GLOBAL DEFAULT UND sqrt@GLIBC_2.4 (3) 5: 00000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.4 (2) 6: 00000000 0 FUNC GLOBAL DEFAULT UND memcmp@GLIBC_2.4 (2) 7: 00000000 0 FUNC GLOBAL DEFAULT UND memcpy@GLIBC_2.4 (2)
How to solve the above glibc incompatibility problem?Kindly provide your comments !!
Regards,Daniel Hsu