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:
parent
efbc813eb3
commit
c8c18e652e
2 changed files with 20 additions and 8 deletions
22
gdb/solib.c
22
gdb/solib.c
|
@ -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);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue