Indeed. The question seems to me, why is errno.os being taken from libc_pic.a at all? There should be undefined reference that causes that object to be used from the archive.