Hi Torbjörn, On Sat, Dec 17, 2022 at 11:29 AM Torbjörn SVENSSON via Binutils < binutils@sourceware.org> wrote: > 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 > --- > 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; > } > > Thanks for catching this, it makes sense indeed. Any change you can add a testcase? Best, Christophe > -- > 2.25.1 > >