Where is __memcpy_chk in libc?

I have a python package (PyNacl) that I am porting to OpenWrt. The PyNacl package uses libsodium (already ported to OpenWrt) which uses libc. Libsodium uses the function __memcpy_chk() which is supposed to be in libc. Here is a link to the documentation for __memcpy_chk() from the Linux specification:
http://refspecs.linux-foundation.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic/libc---memcpy-chk-1.html

I have looked at a version of OpenWrt libc.so with symbols and it does not include the function __memcpy_chk(). I do not understand why this function seems to be missing as it is part of the Linux standard specification.

Is there is different version of libc that I should be using besides the one packaged in OpenWrt /lib?

(Moved to the For Developers section.)

__memcpy_chk() might be provided by glibc, but not by musl.

1 Like

I just found that out. This ended up being my problem as I used a library built with glib and the tried to use it with lubc from musl. The problem is fixed now.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.