X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Fecoff.c;h=5991fddb7871ea07ada2e92d82d0f26caf0ac804;hb=f2c503287936db895a7ab693f3ddf618a46a89a3;hp=b45f16889e3ebfd29e4b2de6e25aced28f650fe9;hpb=0f867abe4ab1bf1b680a54d930736b5180ecb7ab;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ecoff.c b/bfd/ecoff.c index b45f16889e..5991fddb78 100644 --- a/bfd/ecoff.c +++ b/bfd/ecoff.c @@ -3566,9 +3566,9 @@ ecoff_link_add_archive_symbols (abfd, info) entry if it is the tail, because that would lose any entries we add to the list later on. */ if (*pundef != info->hash->undefs_tail) - *pundef = (*pundef)->next; + *pundef = (*pundef)->und_next; else - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; continue; } @@ -3578,7 +3578,7 @@ ecoff_link_add_archive_symbols (abfd, info) other object format. */ if (h->type != bfd_link_hash_undefined) { - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; continue; } @@ -3590,7 +3590,7 @@ ecoff_link_add_archive_symbols (abfd, info) if (file_offset == 0) { /* Nothing in this slot. */ - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; continue; } @@ -3621,7 +3621,7 @@ ecoff_link_add_archive_symbols (abfd, info) if (! found) { - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; continue; } @@ -3643,7 +3643,7 @@ ecoff_link_add_archive_symbols (abfd, info) if (! ecoff_link_add_object_symbols (element, info)) return FALSE; - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; } return TRUE; @@ -4129,7 +4129,7 @@ _bfd_ecoff_bfd_final_link (abfd, info) if (bfd_get_flavour (input_bfd) == bfd_target_ecoff_flavour) { - /* Abitrarily set the symbolic header vstamp to the vstamp + /* Arbitrarily set the symbolic header vstamp to the vstamp of the first object file in the link. */ if (symhdr->vstamp == 0) symhdr->vstamp @@ -4526,7 +4526,6 @@ ecoff_indirect_link_order (output_bfd, info, output_section, link_order) { asection *input_section; bfd *input_bfd; - struct ecoff_section_tdata *section_tdata; bfd_size_type raw_size; bfd_size_type cooked_size; bfd_byte *contents = NULL; @@ -4542,7 +4541,6 @@ ecoff_indirect_link_order (output_bfd, info, output_section, link_order) input_section = link_order->u.indirect.section; input_bfd = input_section->owner; - section_tdata = ecoff_section_data (input_bfd, input_section); raw_size = input_section->_raw_size; cooked_size = input_section->_cooked_size; @@ -4560,39 +4558,24 @@ ecoff_indirect_link_order (output_bfd, info, output_section, link_order) if (contents == NULL && amt != 0) goto error_return; - /* If we are relaxing, the contents may have already been read into - memory, in which case we copy them into our new buffer. We don't - simply reuse the old buffer in case cooked_size > raw_size. */ - if (section_tdata != (struct ecoff_section_tdata *) NULL - && section_tdata->contents != (bfd_byte *) NULL) - memcpy (contents, section_tdata->contents, (size_t) raw_size); - else - { - if (! bfd_get_section_contents (input_bfd, input_section, - (PTR) contents, - (file_ptr) 0, raw_size)) - goto error_return; - } + if (! bfd_get_section_contents (input_bfd, input_section, + (PTR) contents, + (file_ptr) 0, raw_size)) + goto error_return; /* Get the relocs. If we are relaxing MIPS code, they will already have been read in. Otherwise, we read them in now. */ external_reloc_size = ecoff_backend (input_bfd)->external_reloc_size; external_relocs_size = external_reloc_size * input_section->reloc_count; - if (section_tdata != (struct ecoff_section_tdata *) NULL - && section_tdata->external_relocs != NULL) - external_relocs = section_tdata->external_relocs; - else - { - external_relocs = (PTR) bfd_malloc (external_relocs_size); - if (external_relocs == NULL && external_relocs_size != 0) - goto error_return; + external_relocs = (PTR) bfd_malloc (external_relocs_size); + if (external_relocs == NULL && external_relocs_size != 0) + goto error_return; - if (bfd_seek (input_bfd, input_section->rel_filepos, SEEK_SET) != 0 - || (bfd_bread (external_relocs, external_relocs_size, input_bfd) - != external_relocs_size)) - goto error_return; - } + if (bfd_seek (input_bfd, input_section->rel_filepos, SEEK_SET) != 0 + || (bfd_bread (external_relocs, external_relocs_size, input_bfd) + != external_relocs_size)) + goto error_return; /* Relocate the section contents. */ if (! ((*ecoff_backend (input_bfd)->relocate_section) @@ -4625,14 +4608,14 @@ ecoff_indirect_link_order (output_bfd, info, output_section, link_order) if (contents != NULL) free (contents); - if (external_relocs != NULL && section_tdata == NULL) + if (external_relocs != NULL) free (external_relocs); return TRUE; error_return: if (contents != NULL) free (contents); - if (external_relocs != NULL && section_tdata == NULL) + if (external_relocs != NULL) free (external_relocs); return FALSE; }