* ecoff.c (ecoff_sizeof_headers): Align result to 16 byte
boundary.
This commit is contained in:
parent
a62494c41b
commit
626f883f94
|
@ -1,3 +1,14 @@
|
|||
Fri Feb 25 11:41:57 1994 Ian Lance Taylor (ian@cygnus.com)
|
||||
|
||||
* ecoff.c (ecoff_sizeof_headers): Align result to 16 byte
|
||||
boundary.
|
||||
|
||||
Thu Feb 24 07:13:22 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||||
|
||||
* som.c (som_bfd_derive_misc_symbol_info): Derive symbol_info
|
||||
field for absolute symbols in the same manner as undefined
|
||||
and common symbols.
|
||||
|
||||
Thu Feb 24 04:29:19 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||||
|
||||
* elfcode.h (elf_core_file_p): Check for core file e_machine match
|
||||
|
|
46
bfd/ecoff.c
46
bfd/ecoff.c
|
@ -2140,9 +2140,10 @@ ecoff_sizeof_headers (abfd, reloc)
|
|||
if (strcmp (current->name, REGINFO) != 0)
|
||||
++c;
|
||||
|
||||
return (bfd_coff_filhsz (abfd)
|
||||
+ bfd_coff_aoutsz (abfd)
|
||||
+ c * bfd_coff_scnhsz (abfd));
|
||||
ret = (bfd_coff_filhsz (abfd)
|
||||
+ bfd_coff_aoutsz (abfd)
|
||||
+ c * bfd_coff_scnhsz (abfd));
|
||||
return BFD_ALIGN (ret, 16);
|
||||
}
|
||||
|
||||
/* Get the contents of a section. This is where we handle reading the
|
||||
|
@ -2831,24 +2832,28 @@ ecoff_write_object_contents (abfd)
|
|||
== false)
|
||||
return false;
|
||||
}
|
||||
else if ((abfd->flags & EXEC_P) != 0
|
||||
&& (abfd->flags & D_PAGED) != 0)
|
||||
{
|
||||
char c;
|
||||
}
|
||||
|
||||
/* A demand paged executable must occupy an even number of
|
||||
pages. */
|
||||
if (bfd_seek (abfd, (file_ptr) ecoff_data (abfd)->sym_filepos - 1,
|
||||
SEEK_SET) != 0)
|
||||
return false;
|
||||
if (bfd_read (&c, 1, 1, abfd) == 0)
|
||||
c = 0;
|
||||
if (bfd_seek (abfd, (file_ptr) ecoff_data (abfd)->sym_filepos - 1,
|
||||
SEEK_SET) != 0)
|
||||
return false;
|
||||
if (bfd_write (&c, 1, 1, abfd) != 1)
|
||||
return false;
|
||||
}
|
||||
/* The .bss section of a demand paged executable must receive an
|
||||
entire page. If there are symbols, the symbols will start on the
|
||||
next page. If there are no symbols, we must fill out the page by
|
||||
hand. */
|
||||
if (bfd_get_symcount (abfd) == 0
|
||||
&& (abfd->flags & EXEC_P) != 0
|
||||
&& (abfd->flags & D_PAGED) != 0)
|
||||
{
|
||||
char c;
|
||||
|
||||
if (bfd_seek (abfd, (file_ptr) ecoff_data (abfd)->sym_filepos - 1,
|
||||
SEEK_SET) != 0)
|
||||
return false;
|
||||
if (bfd_read (&c, 1, 1, abfd) == 0)
|
||||
c = 0;
|
||||
if (bfd_seek (abfd, (file_ptr) ecoff_data (abfd)->sym_filepos - 1,
|
||||
SEEK_SET) != 0)
|
||||
return false;
|
||||
if (bfd_write (&c, 1, 1, abfd) != 1)
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -3932,7 +3937,6 @@ ecoff_bfd_final_link (abfd, info)
|
|||
/* We accumulate the debugging information counts in the symbolic
|
||||
header. */
|
||||
symhdr = &debug->symbolic_header;
|
||||
symhdr->magic = backend->debug_swap.sym_magic;
|
||||
symhdr->vstamp = 0;
|
||||
symhdr->ilineMax = 0;
|
||||
symhdr->cbLine = 0;
|
||||
|
|
Loading…
Reference in New Issue