1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-09-01 05:02:03 +03:00
1998-03-11 15:27  Ulrich Drepper  <drepper@cygnus.com>

	* elf/rtld.c: Update help message.
	Install link maps for preloaded objects using main_map as loader.

	* elf/dl-misc.c: Use __libc_write instead of __write for debugging.
	* elf/dl-profile.c: Likewise.

	* elf/dlsym.c: Little optimization.
	* elf/dlvsym.c: Likewise.

1998-03-11 14:56  Ulrich Drepper  <drepper@cygnus.com>

	* posix/wordexp-test.c: Move test for parameter list at the very
	beginning.

1998-03-11 00:16  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp.c (wordexp): Set we_wordc to zero initially unless
	WRDE_REUSE flag is set.
	(parse_param): Allow `*', `@', and numbers in parameter names.
	(parse_dollars): Differentiate between arithmetic expansion and a
	command substitution that starts immediately with a sub-shell
	(like ``$((1+3))'' as opposed to ``$((echo);(ls))'').
	(parse_param): Memory allocated with __alloca in a block was
	referenced outside that block.  Adjusted to use malloc/free.
	(parse_param): Adjusted field-splitting algorithm so that there is
	not necessarily a field split at the end of a parameter expansion.

1998-03-10 19:52  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp.c (wordexp): If about to return WRDE_NOSPACE,
	don't free words that have already been allocated.
	(parse_param): A dollar sign on its own will never have a pattern
	associated with it (like "${HOME%%/}" has), so don't try to free it.
	(parse_glob): Attempt to glob when an unquoted `[' is found
	(rather than an unquoted '{' (!)).  Also for unquoted '?'.
	(parse_glob): Sorted out quoting in a glob-able word.
	(parse_param): Added $* and $@ handling.
This commit is contained in:
Ulrich Drepper
1998-03-11 15:33:24 +00:00
parent 5afdca0087
commit 2bcf29ba7c
9 changed files with 286 additions and 88 deletions

View File

@@ -349,7 +349,7 @@ dl_main (const ElfW(Phdr) *phdr,
Grant the user some education. */
if (_dl_argc < 2)
_dl_sysdep_fatal ("\
Usage: ld.so [--list|--verify] EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]\n\
Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]\n\
You have invoked `ld.so', the helper program for shared library executables.\n\
This program usually lives in the file `/lib/ld.so', and special directives\n\
in executable files using ELF shared libraries tell the system's program\n\
@@ -360,7 +360,13 @@ command line to load and run an ELF executable file; this is like executing\n\
that file itself, but always uses this helper program from the file you\n\
specified, instead of the helper program file specified in the executable\n\
file you run. This is mostly of use for maintainers to test new versions\n\
of this helper program; chances are you did not intend to run this program.\n",
of this helper program; chances are you did not intend to run this program.\n\
\n\
--list list all dependencies and how they are resolved\n\
--verify verify that given object really is a dynamically linked\n\
object we get handle\n\
--library-path PATH use given PATH instead of content of the environment\n\
variable LD_LIBRARY_PATH\n",
NULL);
++_dl_skip_args;
@@ -509,7 +515,7 @@ of this helper program; chances are you did not intend to run this program.\n",
while ((p = strsep (&list, " :")) != NULL)
if (! __libc_enable_secure || strchr (p, '/') == NULL)
{
struct link_map *new_map = _dl_map_object (NULL, p, 1,
struct link_map *new_map = _dl_map_object (main_map, p, 1,
lt_library, 0);
if (new_map->l_opencount == 1)
/* It is no duplicate. */
@@ -570,7 +576,7 @@ of this helper program; chances are you did not intend to run this program.\n",
runp = file + strspn (file, ": \t\n");
while ((p = strsep (&runp, ": \t\n")) != NULL)
{
struct link_map *new_map = _dl_map_object (NULL, p, 1,
struct link_map *new_map = _dl_map_object (main_map, p, 1,
lt_library, 0);
if (new_map->l_opencount == 1)
/* It is no duplicate. */
@@ -584,7 +590,7 @@ of this helper program; chances are you did not intend to run this program.\n",
if (problem != NULL)
{
char *p = strndupa (problem, file_size - (problem - file));
struct link_map *new_map = _dl_map_object (NULL, p, 1,
struct link_map *new_map = _dl_map_object (main_map, p, 1,
lt_library, 0);
if (new_map->l_opencount == 1)
/* It is no duplicate. */