[PATCH] bfd: Discard region regardless of warning flag
Christophe Lyon
christophe.lyon.oss@gmail.com
Sat Dec 17 16:13:23 GMT 2022
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 <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;
> }
>
>
Thanks for catching this, it makes sense indeed.
Any change you can add a testcase?
Best,
Christophe
> --
> 2.25.1
>
>
More information about the Binutils
mailing list