From: Daniel Jacobowitz Date: Mon, 2 Nov 2009 17:16:14 +0000 (+0000) Subject: * elfread.c (elf_symfile_segments): Do not warn about X-Git-Tag: cgen-snapshot-20091201~338 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ad09a548819bfa35c8fbf7f69ba1c5d154b82801;p=external%2Fbinutils.git * elfread.c (elf_symfile_segments): Do not warn about uninitialized sections outside of load segments. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ec24e9f..8fc59bb 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2009-11-02 Daniel Jacobowitz + + * elfread.c (elf_symfile_segments): Do not warn about + uninitialized sections outside of load segments. + 2009-11-02 Jan Kratochvil * symfile.c (build_id_to_debug_filename): New variable debugdir. Move diff --git a/gdb/elfread.c b/gdb/elfread.c index 767dfe6..131d7d2 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -114,7 +114,17 @@ elf_symfile_segments (bfd *abfd) break; } - if (bfd_get_section_size (sect) > 0 && j == num_segments) + /* We should have found a segment for every non-empty section. + If we haven't, we will not relocate this section by any + offsets we apply to the segments. As an exception, do not + warn about SHT_NOBITS sections; in normal ELF execution + environments, SHT_NOBITS means zero-initialized and belongs + in a segment, but in no-OS environments some tools (e.g. ARM + RealView) use SHT_NOBITS for uninitialized data. Since it is + uninitialized, it doesn't need a program header. Such + binaries are not relocatable. */ + if (bfd_get_section_size (sect) > 0 && j == num_segments + && (bfd_get_section_flags (abfd, sect) & SEC_LOAD) != 0) warning (_("Loadable segment \"%s\" outside of ELF segments"), bfd_section_name (abfd, sect)); }