* elflink.h: Formatting fixes, tidy prototypes.

(elf_link_assign_sym_version): Move common code out of loop.
This commit is contained in:
Alan Modra 2002-07-16 12:31:35 +00:00
parent c89583f83f
commit 58821868a5
2 changed files with 57 additions and 55 deletions

View File

@ -1,3 +1,8 @@
2002-07-16 Alan Modra <amodra@bigpond.net.au>
* elflink.h: Formatting fixes, tidy prototypes.
(elf_link_assign_sym_version): Move common code out of loop.
2002-07-16 Alan Modra <amodra@bigpond.net.au>
* elflink.h (elf_link_input_bfd): Don't call reloc_emitter when

View File

@ -4359,13 +4359,13 @@ error_return:
if (h->verinfo.vertree == NULL && sinfo->verdefs != NULL)
{
struct bfd_elf_version_tree *t;
struct bfd_elf_version_tree *deflt;
struct bfd_elf_version_tree *local_ver;
struct bfd_elf_version_expr *d;
/* See if can find what version this symbol is in. If the
symbol is supposed to be local, then don't actually register
it. */
deflt = NULL;
local_ver = NULL;
for (t = sinfo->verdefs; t != NULL; t = t->next)
{
if (t->globals != NULL)
@ -4375,6 +4375,7 @@ error_return:
if ((*d->match) (d, h->root.root.string))
{
h->verinfo.vertree = t;
local_ver = NULL;
break;
}
}
@ -4387,17 +4388,13 @@ error_return:
{
for (d = t->locals; d != NULL; d = d->next)
{
/* If the match is "*", keep looking for a more
explicit, perhaps even global, match. */
if (d->pattern[0] == '*' && d->pattern[1] == '\0')
deflt = t;
local_ver = t;
else if ((*d->match) (d, h->root.root.string))
{
h->verinfo.vertree = t;
if (h->dynindx != -1
&& info->shared
&& ! info->export_dynamic)
{
(*bed->elf_backend_hide_symbol) (info, h, true);
}
local_ver = t;
break;
}
}
@ -4407,9 +4404,9 @@ error_return:
}
}
if (deflt != NULL && h->verinfo.vertree == NULL)
if (local_ver != NULL)
{
h->verinfo.vertree = deflt;
h->verinfo.vertree = local_ver;
if (h->dynindx != -1
&& info->shared
&& ! info->export_dynamic)
@ -4448,8 +4445,8 @@ error_return:
if (newh
&& (newh->root.type == bfd_link_hash_defined
|| newh->root.type == bfd_link_hash_defweak))
/* We find a hidden versioned definition. Hide the default
one. */
/* We found a hidden versioned definition. Hide the
default one. */
(*bed->elf_backend_hide_symbol) (info, h, true);
free (newname);
@ -4676,10 +4673,12 @@ elf_link_adjust_relocs (abfd, rel_hdr, count, rel_hash)
free (irela);
}
struct elf_link_sort_rela {
struct elf_link_sort_rela
{
bfd_vma offset;
enum elf_reloc_type_class type;
union {
union
{
Elf_Internal_Rel rel;
Elf_Internal_Rela rela;
} u;
@ -6482,8 +6481,8 @@ elf_link_output_relocs (output_bfd, input_section, input_rel_hdr,
}
else
{
(*_bfd_error_handler) (
_("%s: relocation size mismatch in %s section %s"),
(*_bfd_error_handler)
(_("%s: relocation size mismatch in %s section %s"),
bfd_get_filename (output_bfd),
bfd_archive_filename (input_section->owner),
input_section->name);
@ -6493,8 +6492,8 @@ elf_link_output_relocs (output_bfd, input_section, input_rel_hdr,
bed = get_elf_backend_data (output_bfd);
irela = internal_relocs;
irelaend = irela + NUM_SHDR_ENTRIES (input_rel_hdr)
* bed->s->int_rels_per_ext_rel;
irelaend = irela + (NUM_SHDR_ENTRIES (input_rel_hdr)
* bed->s->int_rels_per_ext_rel);
if (input_rel_hdr->sh_entsize == sizeof (Elf_External_Rel))
{
@ -7129,7 +7128,6 @@ elf_link_input_bfd (finfo, input_bfd)
internal_relocs))
return false;
}
}
}
@ -7646,28 +7644,27 @@ elf_finish_pointer_linker_section (output_bfd, input_bfd, info, lsect, h,
/* Garbage collect unused sections. */
static boolean elf_gc_mark
PARAMS ((struct bfd_link_info *info, asection *sec,
asection * (*gc_mark_hook)
PARAMS ((asection *, struct bfd_link_info *, Elf_Internal_Rela *,
struct elf_link_hash_entry *, Elf_Internal_Sym *))));
PARAMS ((struct bfd_link_info *, asection *,
asection * (*) (asection *, struct bfd_link_info *,
Elf_Internal_Rela *, struct elf_link_hash_entry *,
Elf_Internal_Sym *)));
static boolean elf_gc_sweep
PARAMS ((struct bfd_link_info *info,
boolean (*gc_sweep_hook)
PARAMS ((bfd *abfd, struct bfd_link_info *info, asection *o,
const Elf_Internal_Rela *relocs))));
PARAMS ((struct bfd_link_info *,
boolean (*) (bfd *, struct bfd_link_info *, asection *,
const Elf_Internal_Rela *)));
static boolean elf_gc_sweep_symbol
PARAMS ((struct elf_link_hash_entry *h, PTR idxptr));
PARAMS ((struct elf_link_hash_entry *, PTR));
static boolean elf_gc_allocate_got_offsets
PARAMS ((struct elf_link_hash_entry *h, PTR offarg));
PARAMS ((struct elf_link_hash_entry *, PTR));
static boolean elf_gc_propagate_vtable_entries_used
PARAMS ((struct elf_link_hash_entry *h, PTR dummy));
PARAMS ((struct elf_link_hash_entry *, PTR));
static boolean elf_gc_smash_unused_vtentry_relocs
PARAMS ((struct elf_link_hash_entry *h, PTR dummy));
PARAMS ((struct elf_link_hash_entry *, PTR));
/* The mark phase of garbage collection. For a given section, mark
it and any sections in this section's group, and all the sections
@ -7677,9 +7674,10 @@ static boolean
elf_gc_mark (info, sec, gc_mark_hook)
struct bfd_link_info *info;
asection *sec;
asection * (*gc_mark_hook)
PARAMS ((asection *, struct bfd_link_info *, Elf_Internal_Rela *,
struct elf_link_hash_entry *, Elf_Internal_Sym *));
asection * (*gc_mark_hook) PARAMS ((asection *, struct bfd_link_info *,
Elf_Internal_Rela *,
struct elf_link_hash_entry *,
Elf_Internal_Sym *));
{
boolean ret;
asection *group_sec;
@ -7791,9 +7789,8 @@ elf_gc_mark (info, sec, gc_mark_hook)
static boolean
elf_gc_sweep (info, gc_sweep_hook)
struct bfd_link_info *info;
boolean (*gc_sweep_hook)
PARAMS ((bfd *abfd, struct bfd_link_info *info, asection *o,
const Elf_Internal_Rela *relocs));
boolean (*gc_sweep_hook) PARAMS ((bfd *, struct bfd_link_info *,
asection *, const Elf_Internal_Rela *));
{
bfd *sub;