mirror of git://sourceware.org/git/glibc.git
* elf/dl-load.c (_dl_init_paths): Expand DSTs.
This commit is contained in:
parent
4004a0a552
commit
950398e132
|
|
@ -1,5 +1,7 @@
|
||||||
2006-08-28 Ulrich Drepper <drepper@redhat.com>
|
2006-08-28 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* elf/dl-load.c (_dl_init_paths): Expand DSTs.
|
||||||
|
|
||||||
* elf/dl-open.c (dl_open_worker): Allow $LIB and $PLATFORM in
|
* elf/dl-open.c (dl_open_worker): Allow $LIB and $PLATFORM in
|
||||||
dlopen parameters.
|
dlopen parameters.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -749,7 +749,25 @@ _dl_init_paths (const char *llp)
|
||||||
{
|
{
|
||||||
size_t nllp;
|
size_t nllp;
|
||||||
const char *cp = llp;
|
const char *cp = llp;
|
||||||
char *llp_tmp = strdupa (llp);
|
char *llp_tmp;
|
||||||
|
|
||||||
|
#ifdef SHARED
|
||||||
|
/* Expand DSTs. */
|
||||||
|
size_t cnt = DL_DST_COUNT (llp, 1);
|
||||||
|
if (__builtin_expect (cnt == 0, 1))
|
||||||
|
llp_tmp = strdupa (llp);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Determine the length of the substituted string. */
|
||||||
|
size_t total = DL_DST_REQUIRED (l, llp, strlen (llp), cnt);
|
||||||
|
|
||||||
|
/* Allocate the necessary memory. */
|
||||||
|
llp_tmp = (char *) alloca (total + 1);
|
||||||
|
llp_tmp = _dl_dst_substitute (l, llp, llp_tmp, 1);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
llp_tmp = strdupa (llp);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Decompose the LD_LIBRARY_PATH contents. First determine how many
|
/* Decompose the LD_LIBRARY_PATH contents. First determine how many
|
||||||
elements it has. */
|
elements it has. */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue