aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-05-01 15:17:42 +0930
committerAlan Modra <amodra@gmail.com>2020-05-01 15:32:36 +0930
commit91ed9b71fa737ff4a4519f84c5e0ae0d544514f1 (patch)
tree9e026a1a53f9c6b32e96c7d34815eacd5fcf393e
parent94a8e7b0eff0db3297fbe5c995f97f0308f2fbe5 (diff)
downloadgdb-91ed9b71fa737ff4a4519f84c5e0ae0d544514f1.zip
gdb-91ed9b71fa737ff4a4519f84c5e0ae0d544514f1.tar.gz
gdb-91ed9b71fa737ff4a4519f84c5e0ae0d544514f1.tar.bz2
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.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-ppc.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 25453b3..1413be6 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2020-05-01 Alan Modra <amodra@gmail.com>
+
+ PR 25882
+ * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Ignore e_flags
+ from shared libraries.
+
2020-04-29 Max Filippov <jcmvbkbc@gmail.com>
* elf32-xtensa.c (relax_section): Don't negate diff_value for
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 68b0220..053687c 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))