mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 07:53:51 +08:00
enable-non-contiguous-regions warnings
The warning about discarded sections in elf_link_input_bfd doesn't belong there since the code is dealing with symbols. Multiple symbols in a discarded section will result in multiple identical warnings about the section. Move the warning to a new function in ldlang.c. The patch also tidies the warning quoting of section and file names, consistently using `%pA' and `%pB'. I'm no stickler for one style of section and file name quoting, but they ought to be consistent within a warning, eg. see the first one fixed in ldlang.c, and when a warning is emitted for multiple targets they all ought to use exactly the same format string to reduce translation work. elf64-ppc.c loses the build_one_stub errors since we won't get there before hitting the fatal errors in size_one_stub. bfd/ * elflink.c (elf_link_input_bfd): Don't warn here about discarded sections. * elf32-arm.c (arm_build_one_stub): Use consistent style in --enable-non-contiguous-regions error. * elf32-csky.c (csky_build_one_stub): Likewise. * elf32-hppa.c (hppa_build_one_stub): Likewise. * elf32-m68hc11.c (m68hc11_elf_build_one_stub): Likewise. * elf32-m68hc12.c (m68hc12_elf_build_one_stub): Likewise. * elf32-metag.c (metag_build_one_stub): Likewise. * elf32-nios2.c (nios2_build_one_stub): Likewise. * elfnn-aarch64.c (aarch64_build_one_stub): Likewise. * xcofflink.c (xcoff_build_one_stub): Likewise. * elf64-ppc.c (ppc_size_one_stub): Likewise. (ppc_build_one_stub): Delete dead code. ld/ * ldlang.c (lang_add_section): Use consistent style in --enable-non-contiguous-regions warnings. (size_input_section): Likewise. (warn_non_contiguous_discards): New function. (lang_process): Call it. * testsuite/ld-arm/non-contiguous-arm.d: Update. * testsuite/ld-arm/non-contiguous-arm4.d: Update. * testsuite/ld-arm/non-contiguous-arm7.d: Add --enable-non-contiguous-regions-warnings. * testsuite/ld-arm/non-contiguous-arm7.err: New. * testsuite/ld-powerpc/non-contiguous-powerpc.d: Update. * testsuite/ld-powerpc/non-contiguous-powerpc64.d: Update.
This commit is contained in:
@ -11151,22 +11151,10 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
|
||||
|
||||
/* If this symbol is defined in a section which we are
|
||||
discarding, we don't need to keep it. */
|
||||
if (isym->st_shndx != SHN_UNDEF
|
||||
&& isym->st_shndx < SHN_LORESERVE
|
||||
&& isec->output_section == NULL
|
||||
&& flinfo->info->non_contiguous_regions)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
if (isym->st_shndx != SHN_UNDEF
|
||||
&& isym->st_shndx < SHN_LORESERVE
|
||||
&& bfd_section_removed_from_list (output_bfd,
|
||||
isec->output_section))
|
||||
if (isym->st_shndx < SHN_LORESERVE
|
||||
&& (isec->output_section == NULL
|
||||
|| bfd_section_removed_from_list (output_bfd,
|
||||
isec->output_section)))
|
||||
continue;
|
||||
|
||||
/* Get the name of the symbol. */
|
||||
|
Reference in New Issue
Block a user