/* Set up various things so that we can make a list of input sections
for each output section included in the link. Returns -1 on error,
- 0 when no stubs will be needed, and 1 on success. */
+ 0 when no stubs will be needed, and 1 on success. */
int
elf32_hppa_setup_section_lists (output_bfd, info)
isym = local_syms, shndx = shndx_buf;
esym < end_sy;
esym++, isym++, shndx = (shndx ? shndx + 1 : NULL))
- bfd_elf32_swap_symbol_in (input_bfd, esym, shndx, isym);
+ bfd_elf32_swap_symbol_in (input_bfd, (const PTR) esym,
+ (const PTR) shndx, isym);
/* Now we can free the external symbols. */
free (shndx_buf);
+ sym_sec->output_section->vma);
}
else if (hash->elf.root.type == bfd_link_hash_undefweak)
- ;
+ {
+ if (! info->shared)
+ continue;
+ }
else if (hash->elf.root.type == bfd_link_hash_undefined)
- ;
+ {
+ if (! (info->shared
+ && !info->no_undefined
+ && (ELF_ST_VISIBILITY (hash->elf.other)
+ == STV_DEFAULT)
+ && hash->elf.type != STT_PARISC_MILLI))
+ continue;
+ }
else
{
bfd_set_error (bfd_error_bad_value);