When using strtol, strtoll, strtoul, and strtoull functions in code to convert values that exceed the representation range, Incorrect error number after execution The requirement of C standard for this Class function: if the correct value exceeds the representation range, LONG_ MIN, LONG_ MAX, LLONG_ MIN, LLONG_ MAX, ULONG_ MAX or ULLONG_ MAX (corresponding symbol bit) will be used as the return value, and the value of macro ERANGE will be stored in errno. During testing, it was found that the returned errno was not an ERANGE value
Gcc does not provide these functions. They are provided by the libc that gcc links to. In the case of Linux, it is most likely glibc but it could be musl or uclibc .
Gcc does not provide these functions. They are provided by the libc that gcc links to. In the case of Linux, it is most likely glibc but it could be musl or uclibc . If you are using a -elf target, then libc is most likely provided by newlib. Also GCC 4.8.x is no longer supported upstream, you should try a much newer GCC, like GCC 9.x or even better GCC 13.