[PATCH] bfd: Discard region regardless of warning flag

Torbjörn SVENSSON torbjorn.svensson@foss.st.com
Sat Dec 17 10:28:42 GMT 2022
The discard of the region should be performed regardless if 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 <torbjorn.svensson@foss.st.com>
---
 bfd/elflink.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/bfd/elflink.c b/bfd/elflink.c
index fc3edef9a05..0368256970b 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;
 	}
 
-- 
2.25.1



More information about the Binutils mailing list