PR24697, R_PPC_EMB_SDA21 cannot be used when making a shared object
authorAlan Modra <amodra@gmail.com>
Thu, 29 Aug 2019 09:05:54 +0000 (18:35 +0930)
committerAlan Modra <amodra@gmail.com>
Thu, 29 Aug 2019 11:37:00 +0000 (21:07 +0930)
commitc0d9f31dbd8765dd925e6a4b4acdb9b23d1706f6
treef2d9204312bc52783b59059935c3b05f64745642
parentdd9b12c2451f0e46e73ec54d8762727d428b4c14
PR24697, R_PPC_EMB_SDA21 cannot be used when making a shared object

This removes a restriction on various R_PPC_EMB relocations that has
been present for ppc32 since 1996-04-26 git commit e25a798839.  As far
as I know, only those relocs that would require addressing via r2 for
.sdata2/.sbss2 access are disallowed in shared libraries.

PR 24697
* elf32-ppc.c (ppc_elf_check_relocs): Call bad_shared_reloc
when !bfd_link_executable for R_PPC_EMB_SDA2I16 and
R_PPC_EMB_SDA2REL.  Don't call bad_shared_reloc for any other
reloc.
bfd/ChangeLog
bfd/elf32-ppc.c