From 106791196f98a0f21babf4dd46a731b5d1747d3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torbj=C3=B6rn=20SVENSSON?= Date: Sat, 17 Dec 2022 11:16:19 +0100 Subject: bfd: Discard symbol regardless of warning flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The discard of symbols should be performed whether the warning for the discard is enabled or not. Without this patch, ld would segfault in bfd_section_removed_from_list, called in the if-statement right after this block, as the argument isec->output_section can be NULL. Signed-off-by: Torbjörn SVENSSON Co-Authored-By: Yvan ROUX --- bfd/elflink.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'bfd') diff --git a/bfd/elflink.c b/bfd/elflink.c index fc3edef..0368256 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -11154,12 +11154,12 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd) if (isym->st_shndx != SHN_UNDEF && isym->st_shndx < SHN_LORESERVE && isec->output_section == NULL - && flinfo->info->non_contiguous_regions - && flinfo->info->non_contiguous_regions_warnings) + && flinfo->info->non_contiguous_regions) { - _bfd_error_handler (_("warning: --enable-non-contiguous-regions " - "discards section `%s' from '%s'\n"), - isec->name, bfd_get_filename (isec->owner)); + if (flinfo->info->non_contiguous_regions_warnings) + _bfd_error_handler (_("warning: --enable-non-contiguous-regions " + "discards section `%s' from '%s'\n"), + isec->name, bfd_get_filename (isec->owner)); continue; } -- cgit v1.1