mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 13:27:26 +08:00
* binary.c (binary_set_section_contents): Don't return early for a
non-loadable section, in case the first section is non-loadable. Don't set the low lma for a SEC_NEVER_LOAD section. From Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
Thu Jan 28 20:05:22 1999 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
|
* binary.c (binary_set_section_contents): Don't return early for a
|
||||||
|
non-loadable section, in case the first section is non-loadable.
|
||||||
|
Don't set the low lma for a SEC_NEVER_LOAD section. From Maciej
|
||||||
|
W. Rozycki <macro@ds2.pg.gda.pl>.
|
||||||
|
|
||||||
1999-01-28 Nick Clifton <nickc@cygnus.com>
|
1999-01-28 Nick Clifton <nickc@cygnus.com>
|
||||||
|
|
||||||
* elf32-fr30.c (fr30_reloc_map): Add R_FR30_GNU_VTINHERIT and
|
* elf32-fr30.c (fr30_reloc_map): Add R_FR30_GNU_VTINHERIT and
|
||||||
|
21
bfd/binary.c
21
bfd/binary.c
@ -1,5 +1,5 @@
|
|||||||
/* BFD back-end for binary objects.
|
/* BFD back-end for binary objects.
|
||||||
Copyright 1994, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
|
Copyright 1994, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
|
||||||
Written by Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>
|
Written by Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>
|
||||||
|
|
||||||
This file is part of BFD, the Binary File Descriptor library.
|
This file is part of BFD, the Binary File Descriptor library.
|
||||||
@ -255,14 +255,6 @@ binary_set_section_contents (abfd, sec, data, offset, size)
|
|||||||
file_ptr offset;
|
file_ptr offset;
|
||||||
bfd_size_type size;
|
bfd_size_type size;
|
||||||
{
|
{
|
||||||
/* We don't want to output anything for a section that is neither
|
|
||||||
loaded nor allocated. The contents of such a section are not
|
|
||||||
meaningful in the binary format. */
|
|
||||||
if ((sec->flags & (SEC_LOAD | SEC_ALLOC)) == 0)
|
|
||||||
return true;
|
|
||||||
if ((sec->flags & SEC_NEVER_LOAD) != 0)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (! abfd->output_has_begun)
|
if (! abfd->output_has_begun)
|
||||||
{
|
{
|
||||||
boolean found_low;
|
boolean found_low;
|
||||||
@ -275,7 +267,8 @@ binary_set_section_contents (abfd, sec, data, offset, size)
|
|||||||
found_low = false;
|
found_low = false;
|
||||||
low = 0;
|
low = 0;
|
||||||
for (s = abfd->sections; s != NULL; s = s->next)
|
for (s = abfd->sections; s != NULL; s = s->next)
|
||||||
if (((s->flags & (SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC))
|
if (((s->flags
|
||||||
|
& (SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC | SEC_NEVER_LOAD))
|
||||||
== (SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC))
|
== (SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC))
|
||||||
&& (! found_low || s->lma < low))
|
&& (! found_low || s->lma < low))
|
||||||
{
|
{
|
||||||
@ -303,6 +296,14 @@ binary_set_section_contents (abfd, sec, data, offset, size)
|
|||||||
abfd->output_has_begun = true;
|
abfd->output_has_begun = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* We don't want to output anything for a section that is neither
|
||||||
|
loaded nor allocated. The contents of such a section are not
|
||||||
|
meaningful in the binary format. */
|
||||||
|
if ((sec->flags & (SEC_LOAD | SEC_ALLOC)) == 0)
|
||||||
|
return true;
|
||||||
|
if ((sec->flags & SEC_NEVER_LOAD) != 0)
|
||||||
|
return true;
|
||||||
|
|
||||||
return _bfd_generic_set_section_contents (abfd, sec, data, offset, size);
|
return _bfd_generic_set_section_contents (abfd, sec, data, offset, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user