* som.c (som_get_symtab_upper_bound): Use "sizeof (asymbol *)"
not "sizeof (som_symbol_type *)". * elfcode.h (elf_get_symtab_upper_bound): Use "sizeof (asymbol *)" not "sizeof (asymbol"). Opps.
This commit is contained in:
parent
531a5bd189
commit
d643978558
@ -1,3 +1,11 @@
|
||||
Fri Feb 25 16:35:57 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||||
|
||||
* som.c (som_get_symtab_upper_bound): Use "sizeof (asymbol *)"
|
||||
not "sizeof (som_symbol_type *)".
|
||||
|
||||
* elfcode.h (elf_get_symtab_upper_bound): Use "sizeof (asymbol *)"
|
||||
not "sizeof (asymbol"). Opps.
|
||||
|
||||
Fri Feb 25 13:19:04 1994 Ted Lemon (mellon@pepper.ncd.com)
|
||||
|
||||
* bfd.c (bfd_get_gp_size): Can't return gp value on an archive.
|
||||
|
@ -2742,7 +2742,7 @@ DEFUN (elf_get_symtab_upper_bound, (abfd), bfd * abfd)
|
||||
|
||||
Elf_Internal_Shdr *hdr = &elf_tdata(abfd)->symtab_hdr;
|
||||
symcount = hdr->sh_size / sizeof (Elf_External_Sym);
|
||||
symtab_size = (symcount - 1 + 1) * (sizeof (asymbol));
|
||||
symtab_size = (symcount - 1 + 1) * (sizeof (asymbol *));
|
||||
|
||||
return symtab_size;
|
||||
}
|
||||
@ -3549,6 +3549,7 @@ DEFUN (elf_core_file_p, (abfd), bfd * abfd)
|
||||
Elf_External_Phdr x_phdr; /* Program header table entry, external form */
|
||||
Elf_Internal_Phdr *i_phdrp; /* Program header table, internal form */
|
||||
unsigned int phindex;
|
||||
struct elf_backend_data *ebd;
|
||||
|
||||
/* Read in the ELF header in external format. */
|
||||
|
||||
@ -3621,6 +3622,35 @@ DEFUN (elf_core_file_p, (abfd), bfd * abfd)
|
||||
elf_debug_file (i_ehdrp);
|
||||
#endif
|
||||
|
||||
ebd = get_elf_backend_data (abfd);
|
||||
|
||||
/* Check that the ELF e_machine field matches what this particular
|
||||
BFD format expects. */
|
||||
if (ebd->elf_machine_code != i_ehdrp->e_machine)
|
||||
{
|
||||
bfd_target **target_ptr;
|
||||
|
||||
if (ebd->elf_machine_code != EM_NONE)
|
||||
goto wrong;
|
||||
|
||||
/* This is the generic ELF target. Let it match any ELF target
|
||||
for which we do not have a specific backend. */
|
||||
for (target_ptr = bfd_target_vector; *target_ptr != NULL; target_ptr++)
|
||||
{
|
||||
struct elf_backend_data *back;
|
||||
|
||||
if ((*target_ptr)->flavour != bfd_target_elf_flavour)
|
||||
continue;
|
||||
back = (struct elf_backend_data *) (*target_ptr)->backend_data;
|
||||
if (back->elf_machine_code == i_ehdrp->e_machine)
|
||||
{
|
||||
/* target_ptr is an ELF backend which matches this
|
||||
object file, so reject the generic ELF target. */
|
||||
goto wrong;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* If there is no program header, or the type is not a core file, then
|
||||
we are hosed. */
|
||||
if (i_ehdrp->e_phoff == 0 || i_ehdrp->e_type != ET_CORE)
|
||||
|
@ -3190,7 +3190,8 @@ som_bfd_derive_misc_symbol_info (abfd, sym, info)
|
||||
for undefined or common symbols, but the HP linker will
|
||||
choke if it's not set to some "reasonable" value. We
|
||||
use zero as a reasonable value. */
|
||||
if (sym->section == &bfd_com_section || sym->section == &bfd_und_section)
|
||||
if (sym->section == &bfd_com_section || sym->section == &bfd_und_section
|
||||
|| sym->section == &bfd_abs_section)
|
||||
info->symbol_info = 0;
|
||||
/* For all other symbols, the symbol_info field contains the
|
||||
subspace index of the space this symbol is contained in. */
|
||||
@ -3334,7 +3335,7 @@ som_get_symtab_upper_bound (abfd)
|
||||
if (!som_slurp_symbol_table (abfd))
|
||||
return 0;
|
||||
|
||||
return (bfd_get_symcount (abfd) + 1) * (sizeof (som_symbol_type *));
|
||||
return (bfd_get_symcount (abfd) + 1) * (sizeof (asymbol *));
|
||||
}
|
||||
|
||||
/* Convert from a SOM subspace index to a BFD section. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user