mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:29:42 +01:00
Brings following fixes.
* 553c7f61b74 x86: Display -msse-check= default as none
* 4f7d1d2d5ec PowerPC: Add support for Power11 options
* 3c1f1c35784 x86-64: Add R_X86_64_CODE_6_GOTTPOFF
* c426c8e307a x86/APX: VROUND{P,S}{S,D} encodings require AVX512{F,VL}
* 78f9e9faaa4 PR31208, strip can break ELF alignment requirements
* e19278f72bd PR 31283 windmc: Parse input correctly on big endian hosts
* b76b8983116 Link x86-64 mark-plt-1.so with --no-as-needed
* e92e2d654bf LoongArch: gas: Fix the types of symbols referred with %le_*_r in the symtab
(From OE-Core rev: 1e24197070abbeabfca1883975b9996f29898745)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
96 lines
3.3 KiB
Diff
96 lines
3.3 KiB
Diff
From 1fe9aa3f25e09281cb018b29081db4cc44bdc01f 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 f9ee05b1400..07801c2c3ac 100644
|
|
--- a/ld/Makefile.am
|
|
+++ b/ld/Makefile.am
|
|
@@ -42,7 +42,8 @@ ZLIBINC = @zlibinc@
|
|
|
|
ELF_CFLAGS=-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_CFLAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
|
|
diff --git a/ld/Makefile.in b/ld/Makefile.in
|
|
index abb0565718f..6329a12a0d6 100644
|
|
--- a/ld/Makefile.in
|
|
+++ b/ld/Makefile.in
|
|
@@ -576,7 +576,8 @@ ZLIB = @zlibdir@ -lz
|
|
ZLIBINC = @zlibinc@
|
|
ELF_CFLAGS = -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_CFLAGS) $(JANSSON_CFLAGS) $(ZSTD_CFLAGS)
|
|
|
|
diff --git a/ld/ldelf.c b/ld/ldelf.c
|
|
index 2852851dcd5..187b359af86 100644
|
|
--- a/ld/ldelf.c
|
|
+++ b/ld/ldelf.c
|
|
@@ -939,7 +939,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 e90c2021b33..01b306e58a1 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 0238aed0ebd..2dd00db13b3 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;
|