/* BFD backend for hp-ux 9000/300
- Copyright (C) 1990, 1991, 1994, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1990, 91, 94, 95, 97, 1999 Free Software Foundation, Inc.
Written by Glenn Engel.
This file is part of BFD, the Binary File Descriptor library.
static void
convert_sym_type (sym_pointer, cache_ptr, abfd)
- struct external_nlist *sym_pointer;
+ struct external_nlist *sym_pointer ATTRIBUTE_UNUSED;
aout_symbol_type *cache_ptr;
- bfd *abfd;
+ bfd *abfd ATTRIBUTE_UNUSED;
{
int name_type;
int new_type;
default:
abort ();
case N_UNDF | N_EXT:
- new_type = N_WEAKU;
+ /* If the value is nonzero, then just treat this as a
+ common symbol. I don't know if this is correct in
+ all cases, but it is more correct than treating it as
+ a weak undefined symbol. */
+ if (cache_ptr->symbol.value == 0)
+ new_type = N_WEAKU;
break;
case N_ABS | N_EXT:
new_type = N_WEAKA;
rawptr = (struct aout_data_struct *) bfd_zalloc (abfd, sizeof (*rawptr));
if (rawptr == NULL)
- {
- bfd_set_error (bfd_error_no_memory);
- return;
- }
+ return;
abfd->tdata.aout_data = rawptr;
obj_aout_subformat (abfd) = gnu_encap_format;
}
strings = (char *) bfd_alloc (abfd,
symbol_bytes + SYM_EXTRA_BYTES);
if (!strings)
- {
- bfd_set_error (bfd_error_no_memory);
- return false;
- }
+ return false;
syms = (struct external_nlist *) (strings + SYM_EXTRA_BYTES);
if (bfd_seek (abfd, obj_sym_filepos (abfd), SEEK_SET) != 0
|| bfd_read ((PTR) syms, symbol_bytes, 1, abfd) != symbol_bytes)
bfd_zalloc (abfd,
bfd_get_symcount (abfd) * sizeof (aout_symbol_type)));
if (cached == NULL && bfd_get_symcount (abfd) != 0)
- {
- bfd_set_error (bfd_error_no_memory);
- return false;
- }
+ return false;
/* as we march thru the hp symbol table, convert it into a list of
null terminated strings to hold the symbol names. Make sure any
struct hp300hpux_reloc *bytes;
arelent *cache_ptr;
asymbol **symbols;
- bfd_size_type symcount;
+ bfd_size_type symcount ATTRIBUTE_UNUSED;
{
int r_index;
int r_extern = 0;
reloc_cache = (arelent *) bfd_zalloc (abfd, (size_t) (count * sizeof
(arelent)));
if (!reloc_cache && count != 0)
- {
- nomem:
- bfd_set_error (bfd_error_no_memory);
- return false;
- }
+ return false;
relocs = (PTR) bfd_alloc (abfd, reloc_size);
if (!relocs && reloc_size != 0)
{
bfd_release (abfd, reloc_cache);
- goto nomem;
+ return false;
}
if (bfd_read (relocs, 1, reloc_size, abfd) != reloc_size)