From 20fff697c52e24700e76d64d202ad7a9228b630e Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Fri, 25 Dec 2015 11:42:48 +0100
Subject: [PATCH] add sysroot fix from bug #3049

Always try to prepend the sysroot prefix to absolute filenames first.

http://bugs.gentoo.org/275666
http://sourceware.org/bugzilla/show_bug.cgi?id=10340

Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
[Romain: rebase on top of 2.26]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
 ld/ldfile.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/ld/ldfile.c b/ld/ldfile.c
index 6532a57d96..eefc2ebefb 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -338,18 +338,24 @@ ldfile_open_file_search (const char *arch,
      directory first.  */
   if (!entry->flags.maybe_archive)
     {
-      if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename))
+     /* For absolute pathnames, try to always open the file in the
+	 sysroot first. If this fails, try to open the file at the
+	 given location.  */
+     entry->flags.sysrooted = is_sysrooted_pathname (entry->filename);
+     if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)
+     && ld_sysroot)
 	{
 	  char *name = concat (ld_sysroot, entry->filename,
 			       (const char *) NULL);
 	  if (ldfile_try_open_bfd (name, entry))
 	    {
 	      entry->filename = name;
+	      entry->flags.sysrooted = TRUE;
 	      return TRUE;
 	    }
 	  free (name);
 	}
-      else if (ldfile_try_open_bfd (entry->filename, entry))
+      if (ldfile_try_open_bfd (entry->filename, entry))
 	return TRUE;
 
       if (IS_ABSOLUTE_PATH (entry->filename))
-- 
2.14.3

