mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 10:22:41 +08:00
* sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): We cannot
use the AT_EXECFN value if it is no absolute path. * sysdeps/unix/sysv/linux/kernel-features.h: Never define __ASSUME_AT_EXECFN.
This commit is contained in:
parent
cd5743fdec
commit
42fa1f67d4
@ -1,5 +1,10 @@
|
||||
2008-08-01 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): We cannot
|
||||
use the AT_EXECFN value if it is no absolute path.
|
||||
* sysdeps/unix/sysv/linux/kernel-features.h: Never define
|
||||
__ASSUME_AT_EXECFN.
|
||||
|
||||
* Versions.def: Add GLIBC_2.9 to libresolv.
|
||||
* include/resolv.h: Remove hidden proto declarations for __ns_*
|
||||
functions. Add them for __dn_count_labels and __p_secstodate.
|
||||
|
@ -35,16 +35,13 @@
|
||||
const char *
|
||||
_dl_get_origin (void)
|
||||
{
|
||||
#ifndef __ASSUME_AT_EXECFN
|
||||
char linkval[PATH_MAX];
|
||||
#endif
|
||||
const char *str;
|
||||
char *result = (char *) -1l;
|
||||
int len;
|
||||
|
||||
str = GLRO(dl_execfn);
|
||||
#ifndef __ASSUME_AT_EXECFN
|
||||
if (str == NULL)
|
||||
if (str == NULL || str[0] != '/')
|
||||
{
|
||||
INTERNAL_SYSCALL_DECL (err);
|
||||
|
||||
@ -53,12 +50,12 @@ _dl_get_origin (void)
|
||||
if (! INTERNAL_SYSCALL_ERROR_P (len, err)
|
||||
&& len > 0 && linkval[0] != '[')
|
||||
str = linkval;
|
||||
else
|
||||
str = NULL;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
len = strlen (str);
|
||||
|
||||
#ifndef __ASSUME_AT_EXECFN
|
||||
if (str == NULL)
|
||||
{
|
||||
/* We use the environment variable LD_ORIGIN_PATH. If it is set make
|
||||
@ -79,7 +76,6 @@ _dl_get_origin (void)
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
/* We can use this value. */
|
||||
assert (str[0] == '/');
|
||||
|
@ -501,11 +501,6 @@
|
||||
# define __ASSUME_ADJ_OFFSET_SS_READ 1
|
||||
#endif
|
||||
|
||||
/* Support for AT_EXECFN was added in 2.6.27. */
|
||||
#if __LINUX_KERNEL_VERSION >= 0x02061b
|
||||
# define __ASSUME_AT_EXECFN 1
|
||||
#endif
|
||||
|
||||
/* Support for various CLOEXEC and NONBLOCK flags was added for x86,
|
||||
x86-64, PPC, IA-64, and SPARC in 2.6.27. */
|
||||
#if __LINUX_KERNEL_VERSION >= 0x02061b \
|
||||
|
Loading…
Reference in New Issue
Block a user