From 4a8f181d196f85ca153fe51ca6bb40942e0e1ed7 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Tue, 15 Sep 2020 02:57:39 +0200 Subject: CRIS: fix PR ld/26589, a missing NULL check in fix for PR ld/22269 Not sure why there wasn't a NULL check in the ld/22269 patch (e01c16a8) at the time, as there was one for the corresponding patch to elf32-m68k.c (5056ba1d). Incidentally, I had missed that in 2017, as a prerequisite for the ld/22269 series, the check_relocs function finally were made "safe"! (I.e. the number of references and symbol types are final, garbage collection done, so port-specific accounting can be made sanely.) Committed. bfd: PR ld/26589 * elf32-cris.c (cris_elf_check_relocs): Add missing NULL check on argument before calling UNDEFWEAK_NO_DYNAMIC_RELOC. ld: PR ld/26589 * testsuite/ld-elf/pr26589.d, testsuite/ld-elf/locref3.s: New test. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-cris.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'bfd') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4f0faa5..4bb61e6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2020-09-15 Hans-Peter Nilsson + + PR ld/26589 + * elf32-cris.c (cris_elf_check_relocs): Add missing NULL check + on argument before calling UNDEFWEAK_NO_DYNAMIC_RELOC. + 2020-09-12 H.J. Lu PR ld/26391 diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index 6e5a2d8..61f4b24 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -3359,7 +3359,7 @@ cris_elf_check_relocs (bfd *abfd, /* No need to do anything if we're not creating a shared object. */ if (! bfd_link_pic (info) - || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) + || (h != NULL && UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))) break; /* We may need to create a reloc section in the dynobj and made room -- cgit v1.1