2003-06-19 Kris Warkentin <kewarken@qnx.com>

* solib.c (solib_open): Change tests for whether to search
LD_LIBRARY_PATH and PATH to better deal with remotes.  Update
comments.
This commit is contained in:
Kris Warkentin 2003-06-20 12:23:18 +00:00
parent efbc813eb3
commit c8c18e652e
2 changed files with 20 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2003-06-19 Kris Warkentin <kewarken@qnx.com>
* solib.c (solib_open): Change tests for whether to search
LD_LIBRARY_PATH and PATH to better deal with remotes. Update
comments.
2003-06-19 Theodore A. Roth <troth@openavr.org>
* avr-tdep.c (avr_frame_address): Delete function.

View File

@ -87,13 +87,19 @@ static char *solib_search_path = NULL;
(or set of directories, as in LD_LIBRARY_PATH) to search for all
shared libraries if not found in SOLIB_ABSOLUTE_PREFIX.
Search order:
* If path is absolute, look in SOLIB_ABSOLUTE_PREFIX.
* If path is absolute or relative, look for it literally (unmodified).
Search algorithm:
* If there is a solib_absolute_prefix and path is absolute:
* Search for solib_absolute_prefix/path.
* else
* Look for it literally (unmodified).
* Look in SOLIB_SEARCH_PATH.
* If available, use target defined search function.
* Look in inferior's $PATH.
* Look in inferior's $LD_LIBRARY_PATH.
* If solib_absolute_prefix is NOT set, perform the following two searches:
* Look in inferior's $PATH.
* Look in inferior's $LD_LIBRARY_PATH.
*
* The last check avoids doing this search when targetting remote
* machines since solib_absolute_prefix will almost always be set.
RETURNS
@ -148,7 +154,7 @@ solib_open (char *in_pathname, char **found_pathname)
in_pathname++;
}
/* If not found, next search the solib_search_path (if any). */
/* If not found, search the solib_search_path (if any). */
if (found_file < 0 && solib_search_path != NULL)
found_file = openp (solib_search_path,
1, in_pathname, O_RDONLY, 0, &temp_pathname);
@ -167,13 +173,13 @@ solib_open (char *in_pathname, char **found_pathname)
(in_pathname, O_RDONLY, &temp_pathname);
/* If not found, next search the inferior's $PATH environment variable. */
if (found_file < 0 && solib_search_path != NULL)
if (found_file < 0 && solib_absolute_prefix == NULL)
found_file = openp (get_in_environ (inferior_environ, "PATH"),
1, in_pathname, O_RDONLY, 0, &temp_pathname);
/* If not found, next search the inferior's $LD_LIBRARY_PATH
environment variable. */
if (found_file < 0 && solib_search_path != NULL)
if (found_file < 0 && solib_absolute_prefix == NULL)
found_file = openp (get_in_environ (inferior_environ, "LD_LIBRARY_PATH"),
1, in_pathname, O_RDONLY, 0, &temp_pathname);