mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:29:42 +01:00
Fix build on 32bit arches with 64bit off_t defaults Detailed changes [1] [1] https://sourceware.org/pipermail/binutils/2023-July/128719.html (From OE-Core rev: c19fd803220f5b701dee077f7e7bfbb5ba2f22e3) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
96 lines
3.3 KiB
Diff
96 lines
3.3 KiB
Diff
From c00ead7264dc1335cb43222cb742b95614666be8 Mon Sep 17 00:00:00 2001
|
|
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Date: Wed, 19 Feb 2020 09:51:16 -0800
|
|
Subject: [PATCH] binutils-nativesdk: Search for alternative ld.so.conf in SDK
|
|
installation
|
|
|
|
We need binutils to look at our ld.so.conf file within the SDK to ensure
|
|
we search the SDK's libdirs as well as those from the host system.
|
|
|
|
We therefore pass in the directory to the code using a define, then add
|
|
it to a section we relocate in a similar way to the way we relocate the
|
|
gcc internal paths. This ensures that ld works correctly in our buildtools
|
|
tarball.
|
|
|
|
Standard sysroot relocation doesn't work since we're not in a sysroot,
|
|
we want to use both the host system and SDK libs.
|
|
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
2020/1/17
|
|
Upstream-Status: Inappropriate [OE specific tweak]
|
|
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
---
|
|
ld/Makefile.am | 3 ++-
|
|
ld/Makefile.in | 3 ++-
|
|
ld/ldelf.c | 2 +-
|
|
ld/ldmain.c | 1 +
|
|
ld/ldmain.h | 1 +
|
|
5 files changed, 7 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/ld/Makefile.am b/ld/Makefile.am
|
|
index c3adbb0ccad..ce0f7e7f85d 100644
|
|
--- a/ld/Makefile.am
|
|
+++ b/ld/Makefile.am
|
|
@@ -42,7 +42,8 @@ ZLIBINC = @zlibinc@
|
|
|
|
ELF_CLFAGS=-DELF_LIST_OPTIONS=@elf_list_options@ \
|
|
-DELF_SHLIB_LIST_OPTIONS=@elf_shlib_list_options@ \
|
|
- -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@
|
|
+ -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@ \
|
|
+ -DSYSCONFDIR="\"$(sysconfdir)\""
|
|
WARN_CFLAGS = @WARN_CFLAGS@
|
|
NO_WERROR = @NO_WERROR@
|
|
AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
|
|
diff --git a/ld/Makefile.in b/ld/Makefile.in
|
|
index d1a56026437..9d86aed12c6 100644
|
|
--- a/ld/Makefile.in
|
|
+++ b/ld/Makefile.in
|
|
@@ -566,7 +566,8 @@ ZLIB = @zlibdir@ -lz
|
|
ZLIBINC = @zlibinc@
|
|
ELF_CLFAGS = -DELF_LIST_OPTIONS=@elf_list_options@ \
|
|
-DELF_SHLIB_LIST_OPTIONS=@elf_shlib_list_options@ \
|
|
- -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@
|
|
+ -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@ \
|
|
+ -DSYSCONFDIR="\"$(sysconfdir)\""
|
|
|
|
AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
|
|
|
|
diff --git a/ld/ldelf.c b/ld/ldelf.c
|
|
index f9a6819366f..1519f8ac4e5 100644
|
|
--- a/ld/ldelf.c
|
|
+++ b/ld/ldelf.c
|
|
@@ -936,7 +936,7 @@ ldelf_check_ld_so_conf (const struct bfd_link_needed_list *l, int force,
|
|
|
|
info.path = NULL;
|
|
info.len = info.alloc = 0;
|
|
- tmppath = concat (ld_sysroot, prefix, "/etc/ld.so.conf",
|
|
+ tmppath = concat (ld_sysconfdir, "/ld.so.conf",
|
|
(const char *) NULL);
|
|
if (!ldelf_parse_ld_so_conf (&info, tmppath))
|
|
{
|
|
diff --git a/ld/ldmain.c b/ld/ldmain.c
|
|
index 06ac2c64fa8..5c38e8cd313 100644
|
|
--- a/ld/ldmain.c
|
|
+++ b/ld/ldmain.c
|
|
@@ -69,6 +69,7 @@ char *program_name;
|
|
|
|
/* The prefix for system library directories. */
|
|
const char *ld_sysroot;
|
|
+char ld_sysconfdir[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSCONFDIR;
|
|
|
|
/* The canonical representation of ld_sysroot. */
|
|
char *ld_canon_sysroot;
|
|
diff --git a/ld/ldmain.h b/ld/ldmain.h
|
|
index dda124b96e8..ba06a7d7be2 100644
|
|
--- a/ld/ldmain.h
|
|
+++ b/ld/ldmain.h
|
|
@@ -23,6 +23,7 @@
|
|
|
|
extern char *program_name;
|
|
extern const char *ld_sysroot;
|
|
+extern char ld_sysconfdir[4096];
|
|
extern char *ld_canon_sysroot;
|
|
extern int ld_canon_sysroot_len;
|
|
extern FILE *saved_script_handle;
|