From: Nick Clifton Date: Fri, 9 Jul 2004 16:06:20 +0000 (+0000) Subject: * elf.c (assign_file_positions_for_segments): Make sure the .dynamic section X-Git-Tag: csl-arm-2004-q3~935 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b1a6d0b1cbfcf751215209dbbb549269d889693a;p=platform%2Fupstream%2Fbinutils.git * elf.c (assign_file_positions_for_segments): Make sure the .dynamic section is the first section in the PT_DYNAMIC segment --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d7bbfe1..7d8efdd 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2004-07-09 Jie Zhang + + * elf.c (assign_file_positions_for_segments): Make sure the + .dynamic section is the first section in the PT_DYNAMIC segment. + 2004-07-09 Nick Clifton * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf. diff --git a/bfd/elf.c b/bfd/elf.c index 1525fa5..1cf2dc0 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -3826,6 +3826,18 @@ assign_file_positions_for_segments (bfd *abfd, struct bfd_link_info *link_info) 1 << align); } } + /* Make sure the .dynamic section is the first section in the + PT_DYNAMIC segment. */ + else if (p->p_type == PT_DYNAMIC + && m->count > 1 + && strcmp (m->sections[0]->name, ".dynamic") != 0) + { + _bfd_error_handler + (_("%s: The first section in the PT_DYNAMIC segment is not the .dynamic section"), + bfd_get_filename (abfd)); + bfd_set_error (bfd_error_bad_value); + return FALSE; + } if (m->count == 0) p->p_vaddr = 0;