0072e21fad
All patches from binutils 2.28 are kept, except patch 0906-microblaze-pr21180.patch, because it has been merged upstream as of commit bd757ca7bf5886a4025ca02093fca1b8c5ce11a2. Other patches are slightly adapted to differences that appeared in binutils 2.29. The patches are now all Git formatted, so instead of having weird sequence numbers, they have normal sequence numbers starting from 0001 and incrementing. Since binutils 2.29 is now available as a .tar.xz tarball, we use this format instead of .bz2 used for previous versions. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
52 lines
1.6 KiB
Diff
52 lines
1.6 KiB
Diff
From 378bda0e19d279535b3f4a0e448a658a534a5d67 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 3b37a0a..f7e5473 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.9.4
|
|
|