mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Use <startup.h> in __libc_init_secure
Since __libc_init_secure is called before ARCH_SETUP_TLS, it must use "int $0x80" for system calls in i386 static PIE. Add startup_getuid, startup_geteuid, startup_getgid and startup_getegid to <startup.h>. Update __libc_init_secure to use them. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
@ -19,5 +19,31 @@
|
||||
/* Targets should override this file if the default definitions below
|
||||
will not work correctly very early before TLS is initialized. */
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
/* Use macro instead of inline function to avoid including <stdio.h>. */
|
||||
#define _startup_fatal(message) __libc_fatal ((message))
|
||||
|
||||
static inline uid_t
|
||||
startup_getuid (void)
|
||||
{
|
||||
return __getuid ();
|
||||
}
|
||||
|
||||
static inline uid_t
|
||||
startup_geteuid (void)
|
||||
{
|
||||
return __geteuid ();
|
||||
}
|
||||
|
||||
static inline gid_t
|
||||
startup_getgid (void)
|
||||
{
|
||||
return __getgid ();
|
||||
}
|
||||
|
||||
static inline gid_t
|
||||
startup_getegid (void)
|
||||
{
|
||||
return __getegid ();
|
||||
}
|
||||
|
Reference in New Issue
Block a user