Skip to content
Snippets Groups Projects
Commit 07f1e47a authored by Alan Modra's avatar Alan Modra
Browse files

PR ld/10489

	* emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Handle
	drive specifiers for DOS based filesystems in rpath-link strings.
parent f282425e
No related branches found
No related tags found
No related merge requests found
2009-10-23 Ryan Mansfield <rmansfield@qnx.com>
PR ld/10489
* emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Handle
drive specifiers for DOS based filesystems in rpath-link strings.
2009-10-19 Nick Clifton <nickc@redhat.com> 2009-10-19 Nick Clifton <nickc@redhat.com>
* Makefile.am: Remove spurious sanitization marker. * Makefile.am: Remove spurious sanitization marker.
......
...@@ -58,6 +58,7 @@ fragment <<EOF ...@@ -58,6 +58,7 @@ fragment <<EOF
#include <ldgram.h> #include <ldgram.h>
#include "elf/common.h" #include "elf/common.h"
#include "elf-bfd.h" #include "elf-bfd.h"
#include "filenames.h"
/* Declare functions used by various EXTRA_EM_FILEs. */ /* Declare functions used by various EXTRA_EM_FILEs. */
static void gld${EMULATION_NAME}_before_parse (void); static void gld${EMULATION_NAME}_before_parse (void);
...@@ -472,6 +473,17 @@ gld${EMULATION_NAME}_search_needed (const char *path, ...@@ -472,6 +473,17 @@ gld${EMULATION_NAME}_search_needed (const char *path,
if (s == NULL) if (s == NULL)
s = path + strlen (path); s = path + strlen (path);
#if HAVE_DOS_BASED_FILE_SYSTEM
/* Assume a match on the second char is part of drive specifier. */
else if (config.rpath_separator == ':'
&& s == path + 1
&& ISALPHA (*path))
{
s = strchr (s + 1, config.rpath_separator);
if (s == NULL)
s = path + strlen (path);
}
#endif
filename = (char *) xmalloc (s - path + len + 2); filename = (char *) xmalloc (s - path + len + 2);
if (s == path) if (s == path)
sset = filename; sset = filename;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment