PR ld/10489

* emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Handle
	drive specifiers for DOS based filesystems in rpath-link strings.
This commit is contained in:
Alan Modra 2009-10-23 01:21:12 +00:00
parent f282425ecd
commit 07f1e47a64
2 changed files with 18 additions and 0 deletions

View File

@ -1,3 +1,9 @@
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>
* Makefile.am: Remove spurious sanitization marker.

View File

@ -58,6 +58,7 @@ fragment <<EOF
#include <ldgram.h>
#include "elf/common.h"
#include "elf-bfd.h"
#include "filenames.h"
/* Declare functions used by various EXTRA_EM_FILEs. */
static void gld${EMULATION_NAME}_before_parse (void);
@ -472,6 +473,17 @@ gld${EMULATION_NAME}_search_needed (const char *path,
if (s == NULL)
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);
if (s == path)
sset = filename;