From 27af5372488283ad601bf1abf3b4433f994065c4 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 14 Oct 2002 01:06:59 +0000 Subject: [PATCH] * elf/dl-load.c (_dl_dst_count, _dl_dst_substitute): Handle $LIB dynamic string tag. * elf/Makefile ($(objpfx)trusted-dirs.st): Make the output define DL_DST_LIB based on $(slibdir). --- ChangeLog | 7 +++++++ elf/dl-load.c | 9 +++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index fb5b0ba9d5..e65ca8b0aa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2002-09-26 Roland McGrath + + * elf/dl-load.c (_dl_dst_count, _dl_dst_substitute): Handle $LIB + dynamic string tag. + * elf/Makefile ($(objpfx)trusted-dirs.st): Make the output define + DL_DST_LIB based on $(slibdir). + 2002-10-13 Roland McGrath * elf/rtld-Rules ($(objpfx)rtld-libc.a): Use $(verbose) in ar command. diff --git a/elf/dl-load.c b/elf/dl-load.c index e1909ca6bf..db9391ea66 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -202,8 +202,8 @@ _dl_dst_count (const char *name, int is_path) ++name; if ((len = is_dst (start, name, "ORIGIN", is_path, INTUSE(__libc_enable_secure))) != 0 - || ((len = is_dst (start, name, "PLATFORM", is_path, 0)) - != 0)) + || (len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0 + || (len = is_dst (start, name, "LIB", is_path, 0)) != 0) ++cnt; name = strchr (name + len, '$'); @@ -239,9 +239,10 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result, if ((len = is_dst (start, name, "ORIGIN", is_path, INTUSE(__libc_enable_secure))) != 0) repl = l->l_origin; - else if ((len = is_dst (start, name, "PLATFORM", is_path, - 0)) != 0) + else if ((len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0) repl = GL(dl_platform); + else if ((len = is_dst (start, name, "LIB", is_path, 0)) != 0) + repl = DL_DST_LIB; if (repl != NULL && repl != (const char *) -1) { -- 2.11.4.GIT