aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>1998-09-02 19:28:55 +0000
committerMichael Snyder <msnyder@vmware.com>1998-09-02 19:28:55 +0000
commita6ac3b6bb56d12a21a52508cd8dbb7c3a7aa2d00 (patch)
tree60b70cb194e062552f73e2c7ba3e3c97f9a7d48e /bfd
parentb2a9dbf70f1155178d256288872fcf150202a908 (diff)
downloadgdb-a6ac3b6bb56d12a21a52508cd8dbb7c3a7aa2d00.zip
gdb-a6ac3b6bb56d12a21a52508cd8dbb7c3a7aa2d00.tar.gz
gdb-a6ac3b6bb56d12a21a52508cd8dbb7c3a7aa2d00.tar.bz2
Thu Aug 20 11:30:17 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
* elf.c: comment and formatting cleanups. * elfcore.h: ditto.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf.c41
2 files changed, 27 insertions, 19 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 143ae40..43ab93b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -44,6 +44,11 @@ Thu Aug 20 15:03:45 1998 Nick Clifton <nickc@cygnus.com>
(elf32_arm_relocate_section): Compute name before calling
elf32_arm_final_link_relocate().
+Thu Aug 20 11:30:17 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
+
+ * elf.c: comment and formatting cleanups.
+ * elfcore.h: ditto.
+
Wed Aug 19 15:43:26 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
* elfcode.h (elf_object_p): Reject files of header type ET_CORE
diff --git a/bfd/elf.c b/bfd/elf.c
index f3df29e..47211fc 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1363,9 +1363,9 @@ bfd_section_from_phdr (abfd, hdr, index)
char namebuf[64];
int split;
- split = ((hdr->p_memsz > 0) &&
- (hdr->p_filesz > 0) &&
- (hdr->p_memsz > hdr->p_filesz));
+ split = ((hdr->p_memsz > 0)
+ && (hdr->p_filesz > 0)
+ && (hdr->p_memsz > hdr->p_filesz));
sprintf (namebuf, split ? "segment%da" : "segment%d", index);
name = bfd_alloc (abfd, strlen (namebuf) + 1);
if (!name)
@@ -2605,7 +2605,8 @@ assign_file_positions_for_segments (abfd)
p->p_memsz += alloc * bed->s->sizeof_phdr;
}
- if (p->p_type == PT_LOAD || p->p_type == PT_NOTE)
+ if (p->p_type == PT_LOAD
+ || (p->p_type == PT_NOTE && abfd->format == bfd_core))
{
if (! m->includes_filehdr && ! m->includes_phdrs)
p->p_offset = off;
@@ -2704,7 +2705,7 @@ assign_file_positions_for_segments (abfd)
voff += sec->_raw_size;
}
- if (p->p_type == PT_NOTE)
+ if (p->p_type == PT_NOTE && abfd->format == bfd_core)
{
if (i == 0) /* the actual "note" segment */
{ /* this one actually contains everything. */
@@ -2891,8 +2892,8 @@ assign_file_positions_except_relocs (abfd)
file_ptr off;
struct elf_backend_data *bed = get_elf_backend_data (abfd);
- if ((abfd->flags & (EXEC_P | DYNAMIC)) == 0 &&
- abfd->format != bfd_core)
+ if ((abfd->flags & (EXEC_P | DYNAMIC)) == 0
+ && abfd->format != bfd_core)
{
Elf_Internal_Shdr **hdrpp;
unsigned int i;
@@ -3364,11 +3365,13 @@ copy_private_bfd_data (ibfd, obfd)
/* Special case: corefile "NOTE" section containing regs, prpsinfo etc. */
-#define IS_COREFILE_NOTE(p, s) \
- (p->p_type == PT_NOTE && \
- s->vma == 0 && s->lma == 0 && s->_cooked_size == 0 && \
- (bfd_vma) s->filepos >= p->p_offset && \
- (bfd_vma) s->filepos + s->_raw_size <= p->p_offset + p->p_filesz)
+#define IS_COREFILE_NOTE(p, s) \
+ (p->p_type == PT_NOTE \
+ && ibfd->format == bfd_core \
+ && s->vma == 0 && s->lma == 0 \
+ && (bfd_vma) s->filepos >= p->p_offset \
+ && (bfd_vma) s->filepos + s->_raw_size \
+ <= p->p_offset + p->p_filesz)
/* The complicated case when p_vaddr is 0 is to handle the Solaris
linker, which generates a PT_INTERP section with p_vaddr and
@@ -3405,9 +3408,9 @@ copy_private_bfd_data (ibfd, obfd)
for (s = ibfd->sections; s != NULL; s = s->next)
if (s->output_section != NULL)
{
- if ((IS_CONTAINED_BY (s->vma, s->_raw_size, p->p_vaddr, p) ||
- IS_SOLARIS_PT_INTERP (p, s)) &&
- (s->flags & SEC_ALLOC) != 0)
+ if ((IS_CONTAINED_BY (s->vma, s->_raw_size, p->p_vaddr, p)
+ || IS_SOLARIS_PT_INTERP (p, s))
+ && (s->flags & SEC_ALLOC) != 0)
++csecs;
else if (IS_COREFILE_NOTE (p, s))
++csecs;
@@ -3538,8 +3541,8 @@ copy_private_bfd_data (ibfd, obfd)
/* Match up the physical address of the segment with the
LMA address of the output section. */
- if (IS_CONTAINED_BY (os->lma, os->_raw_size, m->p_paddr, p) ||
- IS_COREFILE_NOTE (p, s))
+ if (IS_CONTAINED_BY (os->lma, os->_raw_size, m->p_paddr, p)
+ || IS_COREFILE_NOTE (p, s))
{
if (matching_lma == 0)
matching_lma = os->lma;
@@ -3611,8 +3614,8 @@ copy_private_bfd_data (ibfd, obfd)
os = s->output_section;
- if (IS_CONTAINED_BY (os->lma, os->_raw_size, m->p_paddr, p) ||
- IS_COREFILE_NOTE (p, s))
+ if (IS_CONTAINED_BY (os->lma, os->_raw_size, m->p_paddr, p)
+ || IS_COREFILE_NOTE (p, s))
{
if (m->count == 0)
{