From 91ed9b71fa737ff4a4519f84c5e0ae0d544514f1 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 1 May 2020 15:17:42 +0930 Subject: [PATCH] ppc32 merging of e_flags from dynamic objects EF_PPC_RELOCATABLE and similar flags, if present in an input shared library, don't have any relevance as far as the output file is concerned. Currently, dynamic objects aren't seen in merge_private_bfd_data. This patch is in preparation for a change to that. PR 25882 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Ignore e_flags from shared libraries. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-ppc.c | 3 +++ 2 files changed, 9 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 25453b384bf..1413be60adc 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2020-05-01 Alan Modra + + PR 25882 + * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Ignore e_flags + from shared libraries. + 2020-04-29 Max Filippov * elf32-xtensa.c (relax_section): Don't negate diff_value for diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 68b02205aaf..053687c0a24 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -3802,6 +3802,9 @@ ppc_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info) if (!ppc_elf_merge_obj_attributes (ibfd, info)) return FALSE; + if ((ibfd->flags & DYNAMIC) != 0) + return TRUE; + new_flags = elf_elfheader (ibfd)->e_flags; old_flags = elf_elfheader (obfd)->e_flags; if (!elf_flags_init (obfd)) -- 2.30.2