mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
44 lines
1.6 KiB
Diff
44 lines
1.6 KiB
Diff
|
From e9d91c4ffc108af0a6df45ab6d4cd4792ecb36c7 Mon Sep 17 00:00:00 2001
|
||
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||
|
Date: Sat, 11 Jan 2020 08:36:04 -0700
|
||
|
Subject: [PATCH 2/2] AArch64: Revert setting of elf class in linker stub.
|
||
|
|
||
|
This changes the fix to PR 25210 by removing the ELF class change.
|
||
|
As it turns out the correct change was only the change in compress.c.
|
||
|
|
||
|
Everything else is unneeded and setting the elf class is making the linker
|
||
|
behave very oddly under LTO. The first stub is correctly written out but for
|
||
|
the rest the suddenly don't have a pointer to the stub section anymore.
|
||
|
|
||
|
This caused SPEC to fail as the program would branch to the stub and it wouldn't
|
||
|
be filled in.
|
||
|
|
||
|
Committed to master under the trivial rule as this is partially reverting a previous commit.
|
||
|
|
||
|
bfd/ChangeLog:
|
||
|
|
||
|
PR 25210
|
||
|
* elfnn-aarch64.c (_bfd_aarch64_create_stub_section): Remove elfclass.
|
||
|
---
|
||
|
bfd/elfnn-aarch64.c | 4 ----
|
||
|
1 file changed, 4 deletions(-)
|
||
|
|
||
|
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
|
||
|
index 6b1b7b55e4..fd44505da4 100644
|
||
|
--- a/bfd/elfnn-aarch64.c
|
||
|
+++ b/bfd/elfnn-aarch64.c
|
||
|
@@ -3176,10 +3176,6 @@ _bfd_aarch64_create_stub_section (asection *section,
|
||
|
if (s_name == NULL)
|
||
|
return NULL;
|
||
|
|
||
|
- /* PR 25210. Set the right class on the stub_bfd. */
|
||
|
- elf_elfheader (htab->stub_bfd)->e_ident[EI_CLASS] = ELFCLASSNN;
|
||
|
- BFD_ASSERT (ELFCLASSNN == get_elf_backend_data (htab->stub_bfd)->s->elfclass);
|
||
|
-
|
||
|
memcpy (s_name, section->name, namelen);
|
||
|
memcpy (s_name + namelen, STUB_SUFFIX, sizeof (STUB_SUFFIX));
|
||
|
return (*htab->add_stub_section) (s_name, section);
|
||
|
--
|
||
|
2.24.1
|
||
|
|