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