diff options
author | Nick Clifton <nickc@redhat.com> | 2017-03-02 14:47:29 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2017-03-02 14:47:29 +0000 |
commit | f98450c6eee6878ebf5b052d231758026d250427 (patch) | |
tree | 7f837c42bbfdd58879e7e8daa2e66733932de8b1 /bfd/elf.c | |
parent | c871dadee1817d4b9f3ba6ee792730c9eccf88e0 (diff) | |
download | gdb-f98450c6eee6878ebf5b052d231758026d250427.zip gdb-f98450c6eee6878ebf5b052d231758026d250427.tar.gz gdb-f98450c6eee6878ebf5b052d231758026d250427.tar.bz2 |
Disable warning message about a program header with no associated sections when that header's file size is non-zero.
PR ld/21212
* elf.c (rewrite_elf_program_header): Do not issue a warning for
empty segments which have a non-zero filesz.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r-- | bfd/elf.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -6689,11 +6689,16 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd) /* Special segments, such as the PT_PHDR segment, may contain no sections, but ordinary, loadable segments should contain something. They are allowed by the ELF spec however, so only - a warning is produced. */ - if (segment->p_type == PT_LOAD) + a warning is produced. + There is however the valid use case of embedded systems which + have segments with p_filesz of 0 and a p_memsz > 0 to initialize + flash memory with zeros. No warning is shown for that case. */ + if (segment->p_type == PT_LOAD + && (segment->p_filesz > 0 || segment->p_memsz == 0)) + /* xgettext:c-format */ _bfd_error_handler (_("\ -%B: warning: Empty loadable segment detected, is this intentional ?"), - ibfd); +%B: warning: Empty loadable segment detected at vaddr=0x%.8x, is this intentional ?"), + ibfd, segment->p_vaddr); map->count = 0; *pointer_to_map = map; |