SIGN IN SIGN UP

ldso: fix missing errno code when reporting relro mprotect failure

this code path potentially runs prior to stage 3, with thread-local
storgae and thus errno unavailable. for this reason, commit
63c67053a3e42e9dff788de432f82ff07d4d772a removed the call to the
mprotect function and replaced it with a __syscall operation that
bypasses errno.

however, this left the error message printing (which is only reachable
in stage 3 and thus can safely access errno) with no error code for
the %m format specifier to use.

introduce a new set_errno function pointer that points to a no-op
until stage 3. this is analogous to the error function pointer
introduced in commit d16d7b10997e6f1c224c3de01b43868f0ce2cc3d.
R
Rich Felker committed
64f05291ff99ae407801ad7ab44cc4d7f6e0350f
Parent: bb4b410