mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
Update.
2001-05-23 kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/sh/dl-machine.h (_dl_runtime_resolve): Handle newer PLT. (_dl_runtime_profile): Likewise.. 2001-05-23 Thorsten Kukuk <kukuk@suse.de> * sysdeps/posix/getaddrinfo.c: Support for AF_UNIX commented out. * posix/tst-getaddrinfo.c: Remove AF_UNIX test. 2001-05-19 H.J. Lu <hjl@gnu.org> * elf/dl-deps.c (_dl_map_object_deps): Pass objname and errstring of the failed DSO to _dl_signal_error ().
This commit is contained in:
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
|||||||
|
2001-05-23 kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||||||
|
|
||||||
|
* sysdeps/sh/dl-machine.h (_dl_runtime_resolve): Handle newer PLT.
|
||||||
|
(_dl_runtime_profile): Likewise..
|
||||||
|
|
||||||
|
2001-05-23 Thorsten Kukuk <kukuk@suse.de>
|
||||||
|
|
||||||
|
* sysdeps/posix/getaddrinfo.c: Support for AF_UNIX commented out.
|
||||||
|
* posix/tst-getaddrinfo.c: Remove AF_UNIX test.
|
||||||
|
|
||||||
|
2001-05-19 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
|
* elf/dl-deps.c (_dl_map_object_deps): Pass objname and
|
||||||
|
errstring of the failed DSO to _dl_signal_error ().
|
||||||
|
|
||||||
2001-05-23 Ulrich Drepper <drepper@redhat.com>
|
2001-05-23 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* iconvdata/gconv-modules: Add more aliases to enable use in
|
* iconvdata/gconv-modules: Add more aliases to enable use in
|
||||||
|
@ -141,6 +141,7 @@ _dl_map_object_deps (struct link_map *map,
|
|||||||
int errno_saved;
|
int errno_saved;
|
||||||
int errno_reason;
|
int errno_reason;
|
||||||
const char *errstring;
|
const char *errstring;
|
||||||
|
const char *objname;
|
||||||
|
|
||||||
auto inline void preload (struct link_map *map);
|
auto inline void preload (struct link_map *map);
|
||||||
|
|
||||||
@ -221,7 +222,6 @@ _dl_map_object_deps (struct link_map *map,
|
|||||||
{
|
{
|
||||||
/* Map in the needed object. */
|
/* Map in the needed object. */
|
||||||
struct link_map *dep;
|
struct link_map *dep;
|
||||||
const char *objname;
|
|
||||||
|
|
||||||
/* Recognize DSTs. */
|
/* Recognize DSTs. */
|
||||||
name = expand_dst (l, strtab + d->d_un.d_val, 0);
|
name = expand_dst (l, strtab + d->d_un.d_val, 0);
|
||||||
@ -263,7 +263,6 @@ _dl_map_object_deps (struct link_map *map,
|
|||||||
}
|
}
|
||||||
else if (d->d_tag == DT_AUXILIARY || d->d_tag == DT_FILTER)
|
else if (d->d_tag == DT_AUXILIARY || d->d_tag == DT_FILTER)
|
||||||
{
|
{
|
||||||
const char *objname;
|
|
||||||
struct list *newp;
|
struct list *newp;
|
||||||
|
|
||||||
/* Recognize DSTs. */
|
/* Recognize DSTs. */
|
||||||
@ -289,7 +288,6 @@ _dl_map_object_deps (struct link_map *map,
|
|||||||
assert (errstring != NULL);
|
assert (errstring != NULL);
|
||||||
if (errstring != _dl_out_of_memory)
|
if (errstring != _dl_out_of_memory)
|
||||||
free ((char *) errstring);
|
free ((char *) errstring);
|
||||||
errstring = NULL;
|
|
||||||
|
|
||||||
/* Simply ignore this error and continue the work. */
|
/* Simply ignore this error and continue the work. */
|
||||||
continue;
|
continue;
|
||||||
@ -541,5 +539,5 @@ out:
|
|||||||
|
|
||||||
if (errno_reason)
|
if (errno_reason)
|
||||||
_dl_signal_error (errno_reason == -1 ? 0 : errno_reason,
|
_dl_signal_error (errno_reason == -1 ? 0 : errno_reason,
|
||||||
errstring ?: "", N_("cannot load shared object file"));
|
objname, errstring);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -26,7 +26,7 @@
|
|||||||
static int
|
static int
|
||||||
do_test (void)
|
do_test (void)
|
||||||
{
|
{
|
||||||
const int family[3] = { AF_INET, AF_INET6, AF_UNIX };
|
const int family[2] = { AF_INET, AF_INET6 };
|
||||||
int result = 0;
|
int result = 0;
|
||||||
int gaierr, index;
|
int gaierr, index;
|
||||||
struct addrinfo hints, *ai, *aitop;
|
struct addrinfo hints, *ai, *aitop;
|
||||||
|
@ -125,6 +125,8 @@ static const struct addrinfo default_hints =
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* Using Unix sockets this way is a security risk. */
|
||||||
static int
|
static int
|
||||||
gaih_local (const char *name, const struct gaih_service *service,
|
gaih_local (const char *name, const struct gaih_service *service,
|
||||||
const struct addrinfo *req, struct addrinfo **pai)
|
const struct addrinfo *req, struct addrinfo **pai)
|
||||||
@ -232,6 +234,7 @@ gaih_local (const char *name, const struct gaih_service *service,
|
|||||||
(*pai)->ai_canonname = NULL;
|
(*pai)->ai_canonname = NULL;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* 0 */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp,
|
gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp,
|
||||||
@ -690,7 +693,9 @@ static struct gaih gaih[] =
|
|||||||
{
|
{
|
||||||
{ PF_INET6, gaih_inet },
|
{ PF_INET6, gaih_inet },
|
||||||
{ PF_INET, gaih_inet },
|
{ PF_INET, gaih_inet },
|
||||||
|
#if 0
|
||||||
{ PF_LOCAL, gaih_local },
|
{ PF_LOCAL, gaih_local },
|
||||||
|
#endif
|
||||||
{ PF_UNSPEC, NULL }
|
{ PF_UNSPEC, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -165,6 +165,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
|
|||||||
.type _dl_runtime_resolve, @function
|
.type _dl_runtime_resolve, @function
|
||||||
.align 5
|
.align 5
|
||||||
_dl_runtime_resolve:
|
_dl_runtime_resolve:
|
||||||
|
mov.l r2,@-r15
|
||||||
mov.l r3,@-r15
|
mov.l r3,@-r15
|
||||||
mov.l r4,@-r15
|
mov.l r4,@-r15
|
||||||
mov.l r5,@-r15
|
mov.l r5,@-r15
|
||||||
@ -175,6 +176,10 @@ _dl_runtime_resolve:
|
|||||||
mov.l r3,@-r15
|
mov.l r3,@-r15
|
||||||
" FGR_SAVE "
|
" FGR_SAVE "
|
||||||
sts.l pr,@-r15
|
sts.l pr,@-r15
|
||||||
|
tst r0,r0
|
||||||
|
bt 1f
|
||||||
|
mov r0,r2
|
||||||
|
1:
|
||||||
mov r0,r4 ! PLT type
|
mov r0,r4 ! PLT type
|
||||||
mov r2,r5 ! link map address
|
mov r2,r5 ! link map address
|
||||||
" FUN_ADDR "
|
" FUN_ADDR "
|
||||||
@ -189,8 +194,9 @@ _dl_runtime_resolve:
|
|||||||
mov.l @r15+,r6
|
mov.l @r15+,r6
|
||||||
mov.l @r15+,r5
|
mov.l @r15+,r5
|
||||||
mov.l @r15+,r4
|
mov.l @r15+,r4
|
||||||
|
mov.l @r15+,r3
|
||||||
jmp @r0 ! Jump to function address.
|
jmp @r0 ! Jump to function address.
|
||||||
mov.l @r15+,r3
|
mov.l @r15+,r2
|
||||||
.align 2
|
.align 2
|
||||||
3:
|
3:
|
||||||
.long " GOTJMP (fixup) "
|
.long " GOTJMP (fixup) "
|
||||||
@ -200,6 +206,7 @@ _dl_runtime_resolve:
|
|||||||
.type _dl_runtime_profile, @function
|
.type _dl_runtime_profile, @function
|
||||||
.align 5
|
.align 5
|
||||||
_dl_runtime_profile:
|
_dl_runtime_profile:
|
||||||
|
mov.l r2,@-r15
|
||||||
mov.l r3,@-r15
|
mov.l r3,@-r15
|
||||||
mov.l r4,@-r15
|
mov.l r4,@-r15
|
||||||
mov.l r5,@-r15
|
mov.l r5,@-r15
|
||||||
@ -210,6 +217,10 @@ _dl_runtime_profile:
|
|||||||
mov.l r3,@-r15
|
mov.l r3,@-r15
|
||||||
" FGR_SAVE "
|
" FGR_SAVE "
|
||||||
sts.l pr,@-r15
|
sts.l pr,@-r15
|
||||||
|
tst r0,r0
|
||||||
|
bt 1f
|
||||||
|
mov r0,r2
|
||||||
|
1:
|
||||||
mov r0,r4 ! PLT type
|
mov r0,r4 ! PLT type
|
||||||
mov r2,r5 ! link map address
|
mov r2,r5 ! link map address
|
||||||
sts pr,r7 ! return address
|
sts pr,r7 ! return address
|
||||||
@ -225,8 +236,9 @@ _dl_runtime_profile:
|
|||||||
mov.l @r15+,r6
|
mov.l @r15+,r6
|
||||||
mov.l @r15+,r5
|
mov.l @r15+,r5
|
||||||
mov.l @r15+,r4
|
mov.l @r15+,r4
|
||||||
|
mov.l @r15+,r3
|
||||||
jmp @r0 ! Jump to function address.
|
jmp @r0 ! Jump to function address.
|
||||||
mov.l @r15+,r3
|
mov.l @r15+,r2
|
||||||
.align 2
|
.align 2
|
||||||
3:
|
3:
|
||||||
.long " GOTJMP (profile_fixup) "
|
.long " GOTJMP (profile_fixup) "
|
||||||
@ -243,6 +255,7 @@ _dl_runtime_profile:
|
|||||||
.align 5
|
.align 5
|
||||||
_dl_runtime_resolve:
|
_dl_runtime_resolve:
|
||||||
_dl_runtime_profile:
|
_dl_runtime_profile:
|
||||||
|
mov.l r2,@-r15
|
||||||
mov.l r3,@-r15
|
mov.l r3,@-r15
|
||||||
mov.l r4,@-r15
|
mov.l r4,@-r15
|
||||||
mov.l r5,@-r15
|
mov.l r5,@-r15
|
||||||
@ -253,6 +266,10 @@ _dl_runtime_profile:
|
|||||||
mov.l r3,@-r15
|
mov.l r3,@-r15
|
||||||
" FGR_SAVE "
|
" FGR_SAVE "
|
||||||
sts.l pr,@-r15
|
sts.l pr,@-r15
|
||||||
|
tst r0,r0
|
||||||
|
bt 1f
|
||||||
|
mov r0,r2
|
||||||
|
1:
|
||||||
mov r0,r4 ! PLT type
|
mov r0,r4 ! PLT type
|
||||||
mov r2,r5 ! link map address
|
mov r2,r5 ! link map address
|
||||||
sts pr,r7 ! return address
|
sts pr,r7 ! return address
|
||||||
@ -268,8 +285,9 @@ _dl_runtime_profile:
|
|||||||
mov.l @r15+,r6
|
mov.l @r15+,r6
|
||||||
mov.l @r15+,r5
|
mov.l @r15+,r5
|
||||||
mov.l @r15+,r4
|
mov.l @r15+,r4
|
||||||
|
mov.l @r15+,r3
|
||||||
jmp @r0 ! Jump to function address.
|
jmp @r0 ! Jump to function address.
|
||||||
mov.l @r15+,r3
|
mov.l @r15+,r2
|
||||||
.align 2
|
.align 2
|
||||||
3:
|
3:
|
||||||
.long " GOTJMP (fixup) "
|
.long " GOTJMP (fixup) "
|
||||||
|
Reference in New Issue
Block a user