diff options
37 files changed, 385 insertions, 266 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ed8f2f2b45f..20b91e899d9 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,48 @@ +2009-08-29 Martin Thuresson <martin@mtme.org> + + * elf32-arm.c (struct stub_def): Rename member template to + template_sequence. (arm_build_one_stub, + find_stub_size_and_template, arm_size_one_stub, arm_map_one_stub): + Rename variable template to template_sequence. + * elfxx-ia64.c (elfNN_ia64_relax_br, elfNN_ia64_relax_brl): + Rename variable template to template_val. + * aoutx.h (NAME (aout, make_empty_symbol)): Rename variable + new to new_symbol. + * coffgen.c (coff_make_empty_symbol) + (coff_bfd_make_debug_symbol): Rename variable new to new_symbol. + * cpu-ia64-opc.c (ext_reg, ins_imms_scaled): Rename variable + new to new_insn. + * ecoff.c (_bfd_ecoff_make_empty_symbol): Rename variable new + to new_symbol. + * elf32-m68k.c (elf_m68k_get_got_entry_type): Rename argument + new to new_reloc. + * hash.c (bfd_hash_lookup): Rename variable new to new_string. + * ieee.c (ieee_make_empty_symbol): Rename variable new to + new_symbol. + * linker.c (bfd_new_link_order): Rename variable new to + new_lo. + * mach-o.c (bfd_mach_o_sizeof_headers): Rename variable new to + symbol. + * oasys.c (oasys_make_empty_symbol): Rename variable new to + new_symbol_type. + * pdp11.c (NAME (aout, make_empty_symbol)): Rename variable + new to new_symbol_type. + * plugin.c (bfd_plugin_make_empty_symbol): Rename variable new + to new_symbol. + * rs6000-core.c (CoreHdr, VmInfo): Rename union member new to + new_dump. + (read_hdr, rs6000coff_core_p) + (rs6000coff_core_file_matches_executable_p) + (rs6000coff_core_file_failing_command) + (rs6000coff_core_file_failing_signal): Updated function to use new + union member name. + * som.c (som_make_empty_symbol): Rename variable new to + new_symbol_type. + * syms.c (_bfd_generic_make_empty_symbol): Rename variable new + to new_symbol. + * tekhex.c (first_phase, tekhex_make_empty_symbol): Rename + variable new to new_symbol. + 2009-08-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * acinclude.m4 (AM_INSTALL_LIBBFD): Call AM_SUBST_NOTMAKE for diff --git a/bfd/aoutx.h b/bfd/aoutx.h index 480761de628..c53ceacc03b 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -1668,12 +1668,12 @@ NAME (aout, make_empty_symbol) (bfd *abfd) { bfd_size_type amt = sizeof (aout_symbol_type); - aout_symbol_type *new = bfd_zalloc (abfd, amt); - if (!new) + aout_symbol_type *new_symbol = (aout_symbol_type *) bfd_zalloc (abfd, amt); + if (!new_symbol) return NULL; - new->symbol.the_bfd = abfd; + new_symbol->symbol.the_bfd = abfd; - return &new->symbol; + return &new_symbol->symbol; } /* Translate a set of internal symbols into external symbols. */ diff --git a/bfd/coffgen.c b/bfd/coffgen.c index a52f75a7578..d7909cb0e7d 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -1794,17 +1794,17 @@ asymbol * coff_make_empty_symbol (bfd *abfd) { bfd_size_type amt = sizeof (coff_symbol_type); - coff_symbol_type *new = bfd_zalloc (abfd, amt); + coff_symbol_type *new_symbol = (coff_symbol_type *) bfd_zalloc (abfd, amt); - if (new == NULL) + if (new_symbol == NULL) return NULL; - new->symbol.section = 0; - new->native = 0; - new->lineno = NULL; - new->done_lineno = FALSE; - new->symbol.the_bfd = abfd; + new_symbol->symbol.section = 0; + new_symbol->native = 0; + new_symbol->lineno = NULL; + new_symbol->done_lineno = FALSE; + new_symbol->symbol.the_bfd = abfd; - return & new->symbol; + return & new_symbol->symbol; } /* Make a debugging symbol. */ @@ -1815,23 +1815,23 @@ coff_bfd_make_debug_symbol (bfd *abfd, unsigned long sz ATTRIBUTE_UNUSED) { bfd_size_type amt = sizeof (coff_symbol_type); - coff_symbol_type *new = bfd_alloc (abfd, amt); + coff_symbol_type *new_symbol = (coff_symbol_type *) bfd_alloc (abfd, amt); - if (new == NULL) + if (new_symbol == NULL) return NULL; /* @@ The 10 is a guess at a plausible maximum number of aux entries (but shouldn't be a constant). */ amt = sizeof (combined_entry_type) * 10; - new->native = bfd_zalloc (abfd, amt); - if (!new->native) + new_symbol->native = (combined_entry_type *) bfd_zalloc (abfd, amt); + if (!new_symbol->native) return NULL; - new->symbol.section = bfd_abs_section_ptr; - new->symbol.flags = BSF_DEBUGGING; - new->lineno = NULL; - new->done_lineno = FALSE; - new->symbol.the_bfd = abfd; + new_symbol->symbol.section = bfd_abs_section_ptr; + new_symbol->symbol.flags = BSF_DEBUGGING; + new_symbol->lineno = NULL; + new_symbol->done_lineno = FALSE; + new_symbol->symbol.the_bfd = abfd; - return & new->symbol; + return & new_symbol->symbol; } void diff --git a/bfd/cpu-ia64-opc.c b/bfd/cpu-ia64-opc.c index 10dc2aaee3f..61ea0d6d948 100644 --- a/bfd/cpu-ia64-opc.c +++ b/bfd/cpu-ia64-opc.c @@ -81,19 +81,19 @@ ext_reg (const struct ia64_operand *self, ia64_insn code, ia64_insn *valuep) static const char* ins_immu (const struct ia64_operand *self, ia64_insn value, ia64_insn *code) { - ia64_insn new = 0; + ia64_insn new_insn = 0; int i; for (i = 0; i < NELEMS (self->field) && self->field[i].bits; ++i) { - new |= ((value & ((((ia64_insn) 1) << self->field[i].bits) - 1)) - << self->field[i].shift); + new_insn |= ((value & ((((ia64_insn) 1) << self->field[i].bits) - 1)) + << self->field[i].shift); value >>= self->field[i].bits; } if (value) return "integer operand out of range"; - *code |= new; + *code |= new_insn; return 0; } @@ -163,22 +163,22 @@ ins_imms_scaled (const struct ia64_operand *self, ia64_insn value, ia64_insn *code, int scale) { BFD_HOST_64_BIT svalue = value, sign_bit = 0; - ia64_insn new = 0; + ia64_insn new_insn = 0; int i; svalue >>= scale; for (i = 0; i < NELEMS (self->field) && self->field[i].bits; ++i) { - new |= ((svalue & ((((ia64_insn) 1) << self->field[i].bits) - 1)) - << self->field[i].shift); + new_insn |= ((svalue & ((((ia64_insn) 1) << self->field[i].bits) - 1)) + << self->field[i].shift); sign_bit = (svalue >> (self->field[i].bits - 1)) & 1; svalue >>= self->field[i].bits; } if ((!sign_bit && svalue != 0) || (sign_bit && svalue != -1)) return "integer operand out of range"; - *code |= new; + *code |= new_insn; return 0; } diff --git a/bfd/doc/ChangeLog b/bfd/doc/ChangeLog index 87c9798ad1d..03eca56bbd2 100644 --- a/bfd/doc/ChangeLog +++ b/bfd/doc/ChangeLog @@ -1,3 +1,8 @@ +2009-08-29 Martin Thuresson <martin@mtme.org> + + * chew.c (newentry, add_intrinsic): Rename variable new to + new_d. + 2009-08-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.in: Regenerate. diff --git a/bfd/doc/chew.c b/bfd/doc/chew.c index 5622ff2c668..4dd46e542e3 100644 --- a/bfd/doc/chew.c +++ b/bfd/doc/chew.c @@ -1267,14 +1267,14 @@ dict_type * newentry (word) char *word; { - dict_type *new = (dict_type *) malloc (sizeof (dict_type)); - new->word = word; - new->next = root; - root = new; - new->code = (stinst_type *) malloc (sizeof (stinst_type)); - new->code_length = 1; - new->code_end = 0; - return new; + dict_type *new_d = (dict_type *) malloc (sizeof (dict_type)); + new_d->word = word; + new_d->next = root; + root = new_d; + new_d->code = (stinst_type *) malloc (sizeof (stinst_type)); + new_d->code_length = 1; + new_d->code_end = 0; + return new_d; } unsigned int @@ -1299,19 +1299,19 @@ add_intrinsic (name, func) char *name; void (*func) (); { - dict_type *new = newentry (name); - add_to_definition (new, func); - add_to_definition (new, 0); + dict_type *new_d = newentry (name); + add_to_definition (new_d, func); + add_to_definition (new_d, 0); } void add_var (name) char *name; { - dict_type *new = newentry (name); - add_to_definition (new, push_number); - add_to_definition (new, (stinst_type) (&(new->var))); - add_to_definition (new, 0); + dict_type *new_d = newentry (name); + add_to_definition (new_d, push_number); + add_to_definition (new_d, (stinst_type) (&(new_d->var))); + add_to_definition (new_d, 0); } void diff --git a/bfd/ecoff.c b/bfd/ecoff.c index 9ff6a20bba9..cb5d82f84a1 100644 --- a/bfd/ecoff.c +++ b/bfd/ecoff.c @@ -644,18 +644,18 @@ static asymbol *ecoff_scom_symbol_ptr; asymbol * _bfd_ecoff_make_empty_symbol (bfd *abfd) { - ecoff_symbol_type *new; + ecoff_symbol_type *new_symbol; bfd_size_type amt = sizeof (ecoff_symbol_type); - new = bfd_zalloc (abfd, amt); - if (new == NULL) + new_symbol = (ecoff_symbol_type *) bfd_zalloc (abfd, amt); + if (new_symbol == NULL) return NULL; - new->symbol.section = NULL; - new->fdr = NULL; - new->local = FALSE; - new->native = NULL; - new->symbol.the_bfd = abfd; - return &new->symbol; + new_symbol->symbol.section = NULL; + new_symbol->fdr = NULL; + new_symbol->local = FALSE; + new_symbol->native = NULL; + new_symbol->symbol.the_bfd = abfd; + return &new_symbol->symbol; } /* Set the BFD flags and section for an ECOFF symbol. */ diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 5a0d9c37035..2dbf23cf1c4 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -2235,7 +2235,7 @@ enum elf32_arm_stub_type { typedef struct { - const insn_sequence* template; + const insn_sequence* template_sequence; int template_size; } stub_def; @@ -3443,7 +3443,7 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry, bfd_vma sym_value; int template_size; int size; - const insn_sequence *template; + const insn_sequence *template_sequence; int i; struct elf32_arm_link_hash_table * globals; int stub_reloc_idx[MAXRELOCS] = {-1, -1}; @@ -3480,18 +3480,18 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry, + stub_entry->target_section->output_offset + stub_entry->target_section->output_section->vma); - template = stub_entry->stub_template; + template_sequence = stub_entry->stub_template; template_size = stub_entry->stub_template_size; size = 0; for (i = 0; i < template_size; i++) { - switch (template[i].type) + switch (template_sequence[i].type) { case THUMB16_TYPE: { - bfd_vma data = template[i].data; - if (template[i].reloc_addend != 0) + bfd_vma data = (bfd_vma) template_sequence[i].data; + if (template_sequence[i].reloc_addend != 0) { /* We've borrowed the reloc_addend field to mean we should insert a condition code into this (Thumb-1 branch) @@ -3505,11 +3505,12 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry, break; case THUMB32_TYPE: - put_thumb_insn (globals, stub_bfd, (template[i].data >> 16) & 0xffff, + put_thumb_insn (globals, stub_bfd, + (template_sequence[i].data >> 16) & 0xffff, loc + size); - put_thumb_insn (globals, stub_bfd, template[i].data & 0xffff, + put_thumb_insn (globals, stub_bfd, template_sequence[i].data & 0xffff, loc + size + 2); - if (template[i].r_type != R_ARM_NONE) + if (template_sequence[i].r_type != R_ARM_NONE) { stub_reloc_idx[nrelocs] = i; stub_reloc_offset[nrelocs++] = size; @@ -3518,10 +3519,11 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry, break; case ARM_TYPE: - put_arm_insn (globals, stub_bfd, template[i].data, loc + size); + put_arm_insn (globals, stub_bfd, template_sequence[i].data, + loc + size); /* Handle cases where the target is encoded within the instruction. */ - if (template[i].r_type == R_ARM_JUMP24) + if (template_sequence[i].r_type == R_ARM_JUMP24) { stub_reloc_idx[nrelocs] = i; stub_reloc_offset[nrelocs++] = size; @@ -3530,7 +3532,7 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry, break; case DATA_TYPE: - bfd_put_32 (stub_bfd, template[i].data, loc + size); + bfd_put_32 (stub_bfd, template_sequence[i].data, loc + size); stub_reloc_idx[nrelocs] = i; stub_reloc_offset[nrelocs++] = size; size += 4; @@ -3557,22 +3559,23 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry, BFD_ASSERT (nrelocs != 0 && nrelocs <= MAXRELOCS); for (i = 0; i < nrelocs; i++) - if (template[stub_reloc_idx[i]].r_type == R_ARM_THM_JUMP24 - || template[stub_reloc_idx[i]].r_type == R_ARM_THM_JUMP19 - || template[stub_reloc_idx[i]].r_type == R_ARM_THM_CALL - || template[stub_reloc_idx[i]].r_type == R_ARM_THM_XPC22) + if (template_sequence[stub_reloc_idx[i]].r_type == R_ARM_THM_JUMP24 + || template_sequence[stub_reloc_idx[i]].r_type == R_ARM_THM_JUMP19 + || template_sequence[stub_reloc_idx[i]].r_type == R_ARM_THM_CALL + || template_sequence[stub_reloc_idx[i]].r_type == R_ARM_THM_XPC22) { Elf_Internal_Rela rel; bfd_boolean unresolved_reloc; char *error_message; int sym_flags - = (template[stub_reloc_idx[i]].r_type != R_ARM_THM_XPC22) + = (template_sequence[stub_reloc_idx[i]].r_type != R_ARM_THM_XPC22) ? STT_ARM_TFUNC : 0; bfd_vma points_to = sym_value + stub_entry->target_addend; rel.r_offset = stub_entry->stub_offset + stub_reloc_offset[i]; - rel.r_info = ELF32_R_INFO (0, template[stub_reloc_idx[i]].r_type); - rel.r_addend = template[stub_reloc_idx[i]].reloc_addend; + rel.r_info = ELF32_R_INFO (0, + template_sequence[stub_reloc_idx[i]].r_type); + rel.r_addend = template_sequence[stub_reloc_idx[i]].reloc_addend; if (stub_entry->stub_type == arm_stub_a8_veneer_b_cond && i == 0) /* The first relocation in the elf32_arm_stub_a8_veneer_b_cond[] @@ -3588,7 +3591,7 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry, rather than only for certain relocations listed in the enclosing conditional, for the sake of consistency. */ elf32_arm_final_link_relocate (elf32_arm_howto_from_type - (template[stub_reloc_idx[i]].r_type), + (template_sequence[stub_reloc_idx[i]].r_type), stub_bfd, info->output_bfd, stub_sec, stub_sec->contents, &rel, points_to, info, stub_entry->target_section, "", sym_flags, (struct elf_link_hash_entry *) stub_entry->h, &unresolved_reloc, @@ -3597,10 +3600,10 @@ arm_build_one_stub (struct bfd_hash_entry *gen_entry, else { _bfd_final_link_relocate (elf32_arm_howto_from_type - (template[stub_reloc_idx[i]].r_type), stub_bfd, stub_sec, + (template_sequence[stub_reloc_idx[i]].r_type), stub_bfd, stub_sec, stub_sec->contents, stub_entry->stub_offset + stub_reloc_offset[i], sym_value + stub_entry->target_addend, - template[stub_reloc_idx[i]].reloc_addend); + template_sequence[stub_reloc_idx[i]].reloc_addend); } return TRUE; @@ -3615,17 +3618,17 @@ find_stub_size_and_template (enum elf32_arm_stub_type stub_type, const insn_sequence **stub_template, int *stub_template_size) { - const insn_sequence *template = NULL; + const insn_sequence *template_sequence = NULL; int template_size = 0, i; unsigned int size; - template = stub_definitions[stub_type].template; + template_sequence = stub_definitions[stub_type].template_sequence; template_size = stub_definitions[stub_type].template_size; size = 0; for (i = 0; i < template_size; i++) { - switch (template[i].type) + switch (template_sequence[i].type) { case THUMB16_TYPE: size += 2; @@ -3644,7 +3647,7 @@ find_stub_size_and_template (enum elf32_arm_stub_type stub_type, } if (stub_template) - *stub_template = template; + *stub_template = template_sequence; if (stub_template_size) *stub_template_size = template_size; @@ -3661,7 +3664,7 @@ arm_size_one_stub (struct bfd_hash_entry *gen_entry, { struct elf32_arm_stub_hash_entry *stub_entry; struct elf32_arm_link_hash_table *htab; - const insn_sequence *template; + const insn_sequence *template_sequence; int template_size, size; /* Massage our args to the form they really have. */ @@ -3671,11 +3674,11 @@ arm_size_one_stub (struct bfd_hash_entry *gen_entry, BFD_ASSERT((stub_entry->stub_type > arm_stub_none) && stub_entry->stub_type < ARRAY_SIZE(stub_definitions)); - size = find_stub_size_and_template (stub_entry->stub_type, &template, + size = find_stub_size_and_template (stub_entry->stub_type, &template_sequence, &template_size); stub_entry->stub_size = size; - stub_entry->stub_template = template; + stub_entry->stub_template = template_sequence; stub_entry->stub_template_size = template_size; size = (size + 7) & ~7; @@ -4679,7 +4682,7 @@ elf32_arm_size_stubs (bfd *output_bfd, unsigned int section_id = a8_fixes[i].section->id; asection *link_sec = htab->stub_group[section_id].link_sec; asection *stub_sec = htab->stub_group[section_id].stub_sec; - const insn_sequence *template; + const insn_sequence *template_sequence; int template_size, size = 0; stub_entry = arm_stub_hash_lookup (&htab->stub_hash_table, stub_name, @@ -4702,11 +4705,12 @@ elf32_arm_size_stubs (bfd *output_bfd, stub_entry->orig_insn = a8_fixes[i].orig_insn; stub_entry->st_type = STT_ARM_TFUNC; - size = find_stub_size_and_template (a8_fixes[i].stub_type, &template, + size = find_stub_size_and_template (a8_fixes[i].stub_type, + &template_sequence, &template_size); stub_entry->stub_size = size; - stub_entry->stub_template = template; + stub_entry->stub_template = template_sequence; stub_entry->stub_template_size = template_size; } @@ -12976,7 +12980,7 @@ arm_map_one_stub (struct bfd_hash_entry * gen_entry, bfd_vma addr; char *stub_name; output_arch_syminfo *osi; - const insn_sequence *template; + const insn_sequence *template_sequence; enum stub_insn_type prev_type; int size; int i; @@ -12999,8 +13003,8 @@ arm_map_one_stub (struct bfd_hash_entry * gen_entry, addr = (bfd_vma) stub_entry->stub_offset; stub_name = stub_entry->output_name; - template = stub_entry->stub_template; - switch (template[0].type) + template_sequence = stub_entry->stub_template; + switch (template_sequence[0].type) { case ARM_TYPE: if (!elf32_arm_output_stub_sym (osi, stub_name, addr, stub_entry->stub_size)) @@ -13021,7 +13025,7 @@ arm_map_one_stub (struct bfd_hash_entry * gen_entry, size = 0; for (i = 0; i < stub_entry->stub_template_size; i++) { - switch (template[i].type) + switch (template_sequence[i].type) { case ARM_TYPE: sym_type = ARM_MAP_ARM; @@ -13041,14 +13045,14 @@ arm_map_one_stub (struct bfd_hash_entry * gen_entry, return FALSE; } - if (template[i].type != prev_type) + if (template_sequence[i].type != prev_type) { - prev_type = template[i].type; + prev_type = template_sequence[i].type; if (!elf32_arm_output_map_sym (osi, sym_type, addr + size)) return FALSE; } - switch (template[i].type) + switch (template_sequence[i].type) { case ARM_TYPE: case THUMB32_TYPE: diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index c8e018a6cbd..462e0e854f4 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -4045,6 +4045,23 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd, { struct elf_i386_link_hash_table *htab; + /* PR 10433: STT_GNU_IFUNC symbols must go through the PLT + only when they are referenced, not when they are defined. */ + if (h->type == STT_GNU_IFUNC + && h->def_regular + && ! h->ref_regular + && ! info->relocatable) + { + if (! ((h->dynindx != -1 + || h->forced_local) + && ((info->shared + && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT + || h->root.type != bfd_link_hash_undefweak)) + || ! h->forced_local) + && elf_hash_table (info)->dynamic_sections_created)) + return TRUE; + } + htab = elf_i386_hash_table (info); if (h->plt.offset != (bfd_vma) -1) diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index 1eeb9780f1e..f85aba00c7e 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -1531,7 +1531,7 @@ elf_m68k_get_got_entry (struct elf_m68k_got *got, static enum elf_m68k_reloc_type elf_m68k_update_got_entry_type (struct elf_m68k_got *got, enum elf_m68k_reloc_type was, - enum elf_m68k_reloc_type new) + enum elf_m68k_reloc_type new_reloc) { enum elf_m68k_got_offset_size was_size; enum elf_m68k_got_offset_size new_size; @@ -1543,20 +1543,20 @@ elf_m68k_update_got_entry_type (struct elf_m68k_got *got, /* Update all got->n_slots counters, including n_slots[R_32]. */ was_size = R_LAST; - was = new; + was = new_reloc; } else { /* !!! We, probably, should emit an error rather then fail on assert in such a case. */ BFD_ASSERT (elf_m68k_reloc_got_type (was) - == elf_m68k_reloc_got_type (new)); + == elf_m68k_reloc_got_type (new_reloc)); was_size = elf_m68k_reloc_got_offset_size (was); } - new_size = elf_m68k_reloc_got_offset_size (new); - n_slots = elf_m68k_reloc_got_n_slots (new); + new_size = elf_m68k_reloc_got_offset_size (new_reloc); + n_slots = elf_m68k_reloc_got_n_slots (new_reloc); while (was_size > new_size) { @@ -1564,10 +1564,10 @@ elf_m68k_update_got_entry_type (struct elf_m68k_got *got, got->n_slots[was_size] += n_slots; } - if (new > was) + if (new_reloc > was) /* Relocations are ordered from bigger got offset size to lesser, so choose the relocation type with lesser offset size. */ - was = new; + was = new_reloc; return was; } diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index de6f6ecd242..6db647207b4 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -3716,6 +3716,23 @@ elf64_x86_64_finish_dynamic_symbol (bfd *output_bfd, { struct elf64_x86_64_link_hash_table *htab; + /* PR 10433: STT_GNU_IFUNC symbols must go through the PLT + only when they are referenced, not when they are defined. */ + if (h->type == STT_GNU_IFUNC + && h->def_regular + && ! h->ref_regular + && ! info->relocatable) + { + if (! ((h->dynindx != -1 + || h->forced_local) + && ((info->shared + && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT + || h->root.type != bfd_link_hash_undefweak)) + || ! h->forced_local) + && elf_hash_table (info)->dynamic_sections_created)) + return TRUE; + } + htab = elf64_x86_64_hash_table (info); if (h->plt.offset != (bfd_vma) -1) diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index ccb849dc31e..b43eb12057f 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -612,7 +612,7 @@ bfd_elfNN_ia64_after_parse (int itanium) static bfd_boolean elfNN_ia64_relax_br (bfd_byte *contents, bfd_vma off) { - unsigned int template, mlx; + unsigned int template_val, mlx; bfd_vma t0, t1, s0, s1, s2, br_code; long br_slot; bfd_byte *hit_addr; @@ -626,7 +626,7 @@ elfNN_ia64_relax_br (bfd_byte *contents, bfd_vma off) /* Check if we can turn br into brl. A label is always at the start of the bundle. Even if there are predicates on NOPs, we still perform this optimization. */ - template = t0 & 0x1e; + template_val = t0 & 0x1e; s0 = (t0 >> 5) & 0x1ffffffffffLL; s1 = ((t0 >> 46) | (t1 << 18)) & 0x1ffffffffffLL; s2 = (t1 >> 23) & 0x1ffffffffffLL; @@ -642,9 +642,9 @@ elfNN_ia64_relax_br (bfd_byte *contents, bfd_vma off) case 1: /* Check if slot 2 is NOP. Possible templates are MBB and BBB. For BBB, slot 0 also has to be nop.b. */ - if (!((template == 0x12 /* MBB */ + if (!((template_val == 0x12 /* MBB */ && IS_NOP_B (s2)) - || (template == 0x16 /* BBB */ + || (template_val == 0x16 /* BBB */ && IS_NOP_B (s0) && IS_NOP_B (s2)))) return FALSE; @@ -653,16 +653,16 @@ elfNN_ia64_relax_br (bfd_byte *contents, bfd_vma off) case 2: /* Check if slot 1 is NOP. Possible templates are MIB, MBB, BBB, MMB and MFB. For BBB, slot 0 also has to be nop.b. */ - if (!((template == 0x10 /* MIB */ + if (!((template_val == 0x10 /* MIB */ && IS_NOP_I (s1)) - || (template == 0x12 /* MBB */ + || (template_val == 0x12 /* MBB */ && IS_NOP_B (s1)) - || (template == 0x16 /* BBB */ + || (template_val == 0x16 /* BBB */ && IS_NOP_B (s0) && IS_NOP_B (s1)) - || (template == 0x18 /* MMB */ + || (template_val == 0x18 /* MMB */ && IS_NOP_M (s1)) - || (template == 0x1c /* MFB */ + || (template_val == 0x1c /* MFB */ && IS_NOP_F (s1)))) return FALSE; br_code = s2; @@ -686,7 +686,7 @@ elfNN_ia64_relax_br (bfd_byte *contents, bfd_vma off) else mlx = 0x4; - if (template == 0x16) + if (template_val == 0x16) { /* For BBB, we need to put nop.m in slot 0. We keep the original predicate only if slot 0 isn't br. */ @@ -715,7 +715,7 @@ elfNN_ia64_relax_br (bfd_byte *contents, bfd_vma off) static void elfNN_ia64_relax_brl (bfd_byte *contents, bfd_vma off) { - int template; + int template_val; bfd_byte *hit_addr; bfd_vma t0, t1, i0, i1, i2; @@ -734,10 +734,10 @@ elfNN_ia64_relax_brl (bfd_byte *contents, bfd_vma off) /* Turn a MLX bundle into a MBB bundle with the same stop-bit variety. */ if (t0 & 0x1) - template = 0x13; + template_val = 0x13; else - template = 0x12; - t0 = (i1 << 46) | (i0 << 5) | template; + template_val = 0x12; + t0 = (i1 << 46) | (i0 << 5) | template_val; t1 = (i2 << 23) | (i1 >> 18); bfd_putl64 (t0, hit_addr); diff --git a/bfd/hash.c b/bfd/hash.c index 14fc4030150..0f9fd7e5e65 100644 --- a/bfd/hash.c +++ b/bfd/hash.c @@ -453,16 +453,17 @@ bfd_hash_lookup (struct bfd_hash_table *table, if (copy) { - char *new; + char *new_string; - new = objalloc_alloc ((struct objalloc *) table->memory, len + 1); - if (!new) + new_string = (char *) objalloc_alloc ((struct objalloc *) table->memory, + len + 1); + if (!new_string) { bfd_set_error (bfd_error_no_memory); return NULL; } - memcpy (new, string, len + 1); - string = new; + memcpy (new_string, string, len + 1); + string = new_string; } return bfd_hash_insert (table, string, hash); diff --git a/bfd/ieee.c b/bfd/ieee.c index 7d79124f3d7..98881ec4e7b 100644 --- a/bfd/ieee.c +++ b/bfd/ieee.c @@ -3627,12 +3627,12 @@ static asymbol * ieee_make_empty_symbol (bfd *abfd) { bfd_size_type amt = sizeof (ieee_symbol_type); - ieee_symbol_type *new = bfd_zalloc (abfd, amt); + ieee_symbol_type *new_symbol = (ieee_symbol_type *) bfd_zalloc (abfd, amt); - if (!new) + if (!new_symbol) return NULL; - new->symbol.the_bfd = abfd; - return &new->symbol; + new_symbol->symbol.the_bfd = abfd; + return &new_symbol->symbol; } static bfd * diff --git a/bfd/linker.c b/bfd/linker.c index 825a4e0d420..29248867477 100644 --- a/bfd/linker.c +++ b/bfd/linker.c @@ -2604,21 +2604,21 @@ struct bfd_link_order * bfd_new_link_order (bfd *abfd, asection *section) { bfd_size_type amt = sizeof (struct bfd_link_order); - struct bfd_link_order *new; + struct bfd_link_order *new_lo; - new = bfd_zalloc (abfd, amt); - if (!new) + new_lo = (struct bfd_link_order *) bfd_zalloc (abfd, amt); + if (!new_lo) return NULL; - new->type = bfd_undefined_link_order; + new_lo->type = bfd_undefined_link_order; if (section->map_tail.link_order != NULL) - section->map_tail.link_order->next = new; + section->map_tail.link_order->next = new_lo; else - section->map_head.link_order = new; - section->map_tail.link_order = new; + section->map_head.link_order = new_lo; + section->map_tail.link_order = new_lo; - return new; + return new_lo; } /* Default link order processing routine. Note that we can not handle diff --git a/bfd/mach-o.c b/bfd/mach-o.c index ac1d6b82355..d1d6e70f154 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -1255,14 +1255,14 @@ bfd_mach_o_sizeof_headers (bfd *a ATTRIBUTE_UNUSED, asymbol * bfd_mach_o_make_empty_symbol (bfd *abfd) { - asymbol *new; - - new = bfd_zalloc (abfd, sizeof (bfd_mach_o_asymbol)); - if (new == NULL) - return new; - new->the_bfd = abfd; - new->udata.i = 0; - return new; + asymbol *new_symbol; + + new_symbol = bfd_zalloc (abfd, sizeof (bfd_mach_o_asymbol)); + if (new_symbol == NULL) + return new_symbol; + new_symbol->the_bfd = abfd; + new_symbol->udata.i = 0; + return new_symbol; } static bfd_boolean diff --git a/bfd/oasys.c b/bfd/oasys.c index c83d3ea257b..37b6a2f01d1 100644 --- a/bfd/oasys.c +++ b/bfd/oasys.c @@ -1084,12 +1084,12 @@ static asymbol * oasys_make_empty_symbol (bfd *abfd) { bfd_size_type amt = sizeof (oasys_symbol_type); - oasys_symbol_type *new = bfd_zalloc (abfd, amt); + oasys_symbol_type *new_symbol_type = bfd_zalloc (abfd, amt); - if (!new) + if (!new_symbol_type) return NULL; - new->symbol.the_bfd = abfd; - return &new->symbol; + new_symbol_type->symbol.the_bfd = abfd; + return &new_symbol_type->symbol; } /* User should have checked the file flags; perhaps we should return diff --git a/bfd/pdp11.c b/bfd/pdp11.c index faf7a689e88..620d21810f3 100644 --- a/bfd/pdp11.c +++ b/bfd/pdp11.c @@ -1433,13 +1433,13 @@ asymbol * NAME (aout, make_empty_symbol) (bfd *abfd) { bfd_size_type amt = sizeof (aout_symbol_type); - aout_symbol_type *new = bfd_zalloc (abfd, amt); + aout_symbol_type *new_symbol_type = bfd_zalloc (abfd, amt); - if (!new) + if (!new_symbol_type) return NULL; - new->symbol.the_bfd = abfd; + new_symbol_type->symbol.the_bfd = abfd; - return &new->symbol; + return &new_symbol_type->symbol; } /* Translate a set of internal symbols into external symbols. */ diff --git a/bfd/plugin.c b/bfd/plugin.c index 053fdd1bd70..a81db6f799d 100644 --- a/bfd/plugin.c +++ b/bfd/plugin.c @@ -415,11 +415,11 @@ bfd_plugin_get_symbol_info (bfd *abfd ATTRIBUTE_UNUSED, static asymbol * bfd_plugin_make_empty_symbol (bfd *abfd) { - asymbol *new = bfd_zalloc (abfd, sizeof (asymbol)); - if (new == NULL) - return new; - new->the_bfd = abfd; - return new; + asymbol *new_symbol = bfd_zalloc (abfd, sizeof (asymbol)); + if (new_symbol == NULL) + return new_symbol; + new_symbol->the_bfd = abfd; + return new_symbol; } static int diff --git a/bfd/rs6000-core.c b/bfd/rs6000-core.c index ad7bef9e10a..7a88b1681c5 100644 --- a/bfd/rs6000-core.c +++ b/bfd/rs6000-core.c @@ -107,9 +107,9 @@ typedef union { typedef union { #ifdef AIX_CORE_DUMPX_CORE - struct core_dumpx new; /* new AIX 4.3+ core dump */ + struct core_dumpx new_dump; /* new AIX 4.3+ core dump */ #else - struct core_dump new; /* for simpler coding */ + struct core_dump new_dump; /* for simpler coding */ #endif struct core_dump old; /* old AIX 4.2- core dump, still used on 4.3+ with appropriate SMIT config */ @@ -120,9 +120,9 @@ typedef union { #ifdef CORE_VERSION_1 typedef union { #ifdef AIX_CORE_DUMPX_CORE - struct vm_infox new; + struct vm_infox new_dump; #else - struct vm_info new; + struct vm_info new_dump; #endif struct vm_info old; } VmInfo; @@ -144,7 +144,7 @@ typedef union { #ifdef AIX_5_CORE # define CORE_DUMPXX_VERSION 267312562 -# define CNEW_IS_CORE_DUMPXX(c) ((c).new.c_version == CORE_DUMPXX_VERSION) +# define CNEW_IS_CORE_DUMPXX(c) ((c).new_dump.c_version == CORE_DUMPXX_VERSION) #else # define CNEW_IS_CORE_DUMPXX(c) 0 #endif @@ -291,7 +291,7 @@ read_hdr (bfd *abfd, CoreHdr *core) /* Read the trailing portion of the structure. */ if (CORE_NEW (*core)) - size = sizeof (core->new); + size = sizeof (core->new_core); else size = sizeof (core->old); size -= CORE_COMMONSZ; @@ -352,13 +352,13 @@ rs6000coff_core_p (bfd *abfd) /* Copy fields from new or old core structure. */ if (CORE_NEW (core)) { - c_flag = core.new.c_flag; - c_stack = (file_ptr) core.new.c_stack; - c_size = core.new.c_size; - c_stackend = CNEW_STACKORG (core.new) + c_size; - c_lsize = CNEW_LSIZE (core.new); - c_loader = CNEW_LOADER (core.new); - proc64 = CNEW_PROC64 (core.new); + c_flag = core.new_dump.c_flag; + c_stack = (file_ptr) core.new_dump.c_stack; + c_size = core.new_dump.c_size; + c_stackend = CNEW_STACKORG (core.new_dump) + c_size; + c_lsize = CNEW_LSIZE (core.new_dump); + c_loader = CNEW_LOADER (core.new_dump); + proc64 = CNEW_PROC64 (core.new_dump); } else { @@ -373,13 +373,13 @@ rs6000coff_core_p (bfd *abfd) if (proc64) { - c_regsize = sizeof (CNEW_CONTEXT64 (core.new)); - c_regptr = &CNEW_CONTEXT64 (core.new); + c_regsize = sizeof (CNEW_CONTEXT64 (core.new_dump)); + c_regptr = &CNEW_CONTEXT64 (core.new_dump); } else if (CORE_NEW (core)) { - c_regsize = sizeof (CNEW_MSTSAVE (core.new)); - c_regptr = &CNEW_MSTSAVE (core.new); + c_regsize = sizeof (CNEW_MSTSAVE (core.new_dump)); + c_regptr = &CNEW_MSTSAVE (core.new_dump); } else { @@ -449,7 +449,7 @@ rs6000coff_core_p (bfd *abfd) bfd_get_filename (abfd)); /* Allocate core file header. */ - size = CORE_NEW (core) ? sizeof (core.new) : sizeof (core.old); + size = CORE_NEW (core) ? sizeof (core.new_dump) : sizeof (core.old); tmpptr = (char *) bfd_zalloc (abfd, (bfd_size_type) size); if (!tmpptr) return NULL; @@ -464,7 +464,7 @@ rs6000coff_core_p (bfd *abfd) enum bfd_architecture arch; unsigned long mach; - switch (CNEW_IMPL (core.new)) + switch (CNEW_IMPL (core.new_dump)) { case POWER_RS1: case POWER_RSC: @@ -537,10 +537,10 @@ rs6000coff_core_p (bfd *abfd) if (CORE_NEW (core)) { - c_datasize = CNEW_DATASIZE (core.new); - c_data = (file_ptr) core.new.c_data; - c_vmregions = core.new.c_vmregions; - c_vmm = (file_ptr) core.new.c_vmm; + c_datasize = CNEW_DATASIZE (core.new_dump); + c_data = (file_ptr) core.new_dump.c_data; + c_vmregions = core.new_dump.c_vmregions; + c_vmm = (file_ptr) core.new_dump.c_vmm; } else { @@ -615,15 +615,15 @@ rs6000coff_core_p (bfd *abfd) file_ptr vminfo_offset; bfd_vma vminfo_addr; - size = CORE_NEW (core) ? sizeof (vminfo.new) : sizeof (vminfo.old); + size = CORE_NEW (core) ? sizeof (vminfo.new_dump) : sizeof (vminfo.old); if (bfd_bread (&vminfo, size, abfd) != size) goto fail; if (CORE_NEW (core)) { - vminfo_addr = (bfd_vma) vminfo.new.vminfo_addr; - vminfo_size = vminfo.new.vminfo_size; - vminfo_offset = vminfo.new.vminfo_offset; + vminfo_addr = (bfd_vma) vminfo.new_dump.vminfo_addr; + vminfo_size = vminfo.new_dump.vminfo_size; + vminfo_offset = vminfo.new_dump.vminfo_offset; } else { @@ -669,11 +669,11 @@ rs6000coff_core_file_matches_executable_p (bfd *core_bfd, bfd *exec_bfd) return FALSE; if (CORE_NEW (core)) - c_loader = CNEW_LOADER (core.new); + c_loader = CNEW_LOADER (core.new_dump); else c_loader = (file_ptr) (ptr_to_uint) COLD_LOADER (core.old); - if (CORE_NEW (core) && CNEW_PROC64 (core.new)) + if (CORE_NEW (core) && CNEW_PROC64 (core.new_dump)) size = (int) ((LdInfo *) 0)->l64.ldinfo_filename; else size = (int) ((LdInfo *) 0)->l32.ldinfo_filename; @@ -735,7 +735,7 @@ rs6000coff_core_file_failing_command (bfd *abfd) { CoreHdr *core = core_hdr (abfd); char *com = CORE_NEW (*core) ? - CNEW_COMM (core->new) : COLD_COMM (core->old); + CNEW_COMM (core->new_dump) : COLD_COMM (core->old); if (*com) return com; @@ -747,7 +747,7 @@ int rs6000coff_core_file_failing_signal (bfd *abfd) { CoreHdr *core = core_hdr (abfd); - return CORE_NEW (*core) ? core->new.c_signo : core->old.c_signo; + return CORE_NEW (*core) ? core->new_dump.c_signo : core->old.c_signo; } #endif /* AIX_CORE */ diff --git a/bfd/som.c b/bfd/som.c index 96da72e53fd..5f319216609 100644 --- a/bfd/som.c +++ b/bfd/som.c @@ -4472,13 +4472,13 @@ static asymbol * som_make_empty_symbol (bfd *abfd) { bfd_size_type amt = sizeof (som_symbol_type); - som_symbol_type *new = bfd_zalloc (abfd, amt); + som_symbol_type *new_symbol_type = bfd_zalloc (abfd, amt); - if (new == NULL) + if (new_symbol_type == NULL) return NULL; - new->symbol.the_bfd = abfd; + new_symbol_type->symbol.the_bfd = abfd; - return &new->symbol; + return &new_symbol_type->symbol; } /* Print symbol information. */ diff --git a/bfd/syms.c b/bfd/syms.c index e4258b556a4..844d146dcb9 100644 --- a/bfd/syms.c +++ b/bfd/syms.c @@ -539,10 +539,10 @@ asymbol * _bfd_generic_make_empty_symbol (bfd *abfd) { bfd_size_type amt = sizeof (asymbol); - asymbol *new = bfd_zalloc (abfd, amt); - if (new) - new->the_bfd = abfd; - return new; + asymbol *new_symbol = (asymbol *) bfd_zalloc (abfd, amt); + if (new_symbol) + new_symbol->the_bfd = abfd; + return new_symbol; } /* diff --git a/bfd/tekhex.c b/bfd/tekhex.c index 01853da06d3..49bac82ab3f 100644 --- a/bfd/tekhex.c +++ b/bfd/tekhex.c @@ -415,31 +415,33 @@ first_phase (bfd *abfd, int type, char *src) /* Symbols, add to section. */ { bfd_size_type amt = sizeof (tekhex_symbol_type); - tekhex_symbol_type *new = bfd_alloc (abfd, amt); + tekhex_symbol_type *new_symbol = (tekhex_symbol_type *) + bfd_alloc (abfd, amt); char stype = (*src); - if (!new) + if (!new_symbol) return FALSE; - new->symbol.the_bfd = abfd; + new_symbol->symbol.the_bfd = abfd; src++; abfd->symcount++; abfd->flags |= HAS_SYMS; - new->prev = abfd->tdata.tekhex_data->symbols; - abfd->tdata.tekhex_data->symbols = new; + new_symbol->prev = abfd->tdata.tekhex_data->symbols; + abfd->tdata.tekhex_data->symbols = new_symbol; if (!getsym (sym, &src, &len)) return FALSE; - new->symbol.name = bfd_alloc (abfd, (bfd_size_type) len + 1); - if (!new->symbol.name) + new_symbol->symbol.name = (const char *) + bfd_alloc (abfd, (bfd_size_type) len + 1); + if (!new_symbol->symbol.name) return FALSE; - memcpy ((char *) (new->symbol.name), sym, len + 1); - new->symbol.section = section; + memcpy ((char *) (new_symbol->symbol.name), sym, len + 1); + new_symbol->symbol.section = section; if (stype <= '4') - new->symbol.flags = (BSF_GLOBAL | BSF_EXPORT); + new_symbol->symbol.flags = (BSF_GLOBAL | BSF_EXPORT); else - new->symbol.flags = BSF_LOCAL; + new_symbol->symbol.flags = BSF_LOCAL; if (!getvalue (&src, &val)) return FALSE; - new->symbol.value = val - section->vma; + new_symbol->symbol.value = val - section->vma; break; } default: @@ -880,13 +882,14 @@ static asymbol * tekhex_make_empty_symbol (bfd *abfd) { bfd_size_type amt = sizeof (struct tekhex_symbol_struct); - tekhex_symbol_type *new = bfd_zalloc (abfd, amt); + tekhex_symbol_type *new_symbol = (tekhex_symbol_type *) bfd_zalloc (abfd, + amt); - if (!new) + if (!new_symbol) return NULL; - new->symbol.the_bfd = abfd; - new->prev = NULL; - return &(new->symbol); + new_symbol->symbol.the_bfd = abfd; + new_symbol->prev = NULL; + return &(new_symbol->symbol); } static void diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 66caa5610f6..1ba7727a4f1 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,10 @@ +2009-08-29 Martin Thuresson <martin@mtme.org> + + * tic30.h (template): Rename type template to + insn_template. Updated code to use new name. + * tic54x.h (template): Rename type template to + insn_template. + 2009-08-20 Nick Hudson <nick.hudson@gmx.co.uk> * hppa.h (pa_opcodes): Add a pa10 bb without FLAG_STRICT. diff --git a/include/opcode/tic30.h b/include/opcode/tic30.h index 198e04e1759..1302eddb18c 100644 --- a/include/opcode/tic30.h +++ b/include/opcode/tic30.h @@ -241,9 +241,9 @@ typedef struct _template #define Imm_SInt 2 #define Imm_UInt 3 } -template; +insn_template; -static const template tic30_optab[] = { +static const insn_template tic30_optab[] = { { "absf" ,2,0x00000000,AddressMode, { GAddr1, Rn, 0 }, Imm_Float }, { "absi" ,2,0x00800000,AddressMode, { GAddr2, AllReg, 0 }, Imm_SInt }, { "addc" ,2,0x01000000,AddressMode, { GAddr2, AllReg, 0 }, Imm_SInt }, @@ -604,7 +604,7 @@ static const template tic30_optab[] = { { "" ,0,0x00000000,0, { 0, 0, 0 }, 0 } }; -static const template *const tic30_optab_end = +static const insn_template *const tic30_optab_end = tic30_optab + sizeof(tic30_optab)/sizeof(tic30_optab[0]); typedef struct { diff --git a/include/opcode/tic54x.h b/include/opcode/tic54x.h index a37ae33a838..31e2a281172 100644 --- a/include/opcode/tic54x.h +++ b/include/opcode/tic54x.h @@ -147,17 +147,17 @@ typedef struct _template const char* parname; enum optype paroperand_types[MAX_OPERANDS]; -} template; +} insn_template; -extern const template tic54x_unknown_opcode; -extern const template tic54x_optab[]; -extern const template tic54x_paroptab[]; +extern const insn_template tic54x_unknown_opcode; +extern const insn_template tic54x_optab[]; +extern const insn_template tic54x_paroptab[]; extern const symbol mmregs[], regs[]; extern const symbol condition_codes[], cc2_codes[], status_bits[]; extern const symbol cc3_codes[]; extern const char *misc_symbols[]; struct disassemble_info; -extern const template* tic54x_get_insn (struct disassemble_info *, +extern const insn_template* tic54x_get_insn (struct disassemble_info *, bfd_vma, unsigned short, int *); #endif /* _opcode_tic54x_h_ */ diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 692ea0baa47..96c3036c068 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,23 @@ +2009-08-29 Martin Thuresson <martin@mtme.org> + + * cris-dis.c (bytes_to_skip): Update code to use new name. + * i386-dis.c (putop): Update code to use new name. + * i386-gen.c (process_i386_opcodes): Update code to use + new name. + * i386-opc.h (struct template): Rename struct template to + insn_template. Update code accordingly. + * i386-tbl.h (i386_optab): Update type to use new name. + * ia64-dis.c (print_insn_ia64): Rename variable template + to template_val. + * tic30-dis.c (struct instruction, get_tic30_instruction): + Update code to use new name. + * tic54x-dis.c (has_lkaddr, get_insn_size) + (print_parallel_instruction, print_insn_tic54x, tic54x_get_insn): + Update code to use new name. + * tic54x-opc.c (tic54x_unknown_opcode, tic54x_optab): + Update type to new name. + * z8kgen.c (internal, gas): Rename variable new to new_op. + 2009-08-28 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (COMPILE_FOR_BUILD): Remove BUILD_CPPFLAGS. diff --git a/opcodes/cris-dis.c b/opcodes/cris-dis.c index 01e69cab06c..876ac175aa6 100644 --- a/opcodes/cris-dis.c +++ b/opcodes/cris-dis.c @@ -660,17 +660,17 @@ bytes_to_skip (unsigned int insn, { /* Each insn is a word plus "immediate" operands. */ unsigned to_skip = 2; - const char *template = matchedp->args; + const char *template_name = (const char *) matchedp->args; const char *s; - for (s = template; *s; s++) + for (s = template_name; *s; s++) if ((*s == 's' || *s == 'N' || *s == 'Y') && (insn & 0x400) && (insn & 15) == 15 && prefix_matchedp == NULL) { /* Immediate via [pc+], so we have to check the size of the operand. */ - int mode_size = 1 << ((insn >> 4) & (*template == 'z' ? 1 : 3)); + int mode_size = 1 << ((insn >> 4) & (*template_name == 'z' ? 1 : 3)); if (matchedp->imm_oprnd_size == SIZE_FIX_32) to_skip += 4; diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 18c0c3b97ef..8c36e230b10 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -10184,7 +10184,7 @@ OP_STi (int bytemode ATTRIBUTE_UNUSED, int sizeflag ATTRIBUTE_UNUSED) /* Capital letters in template are macros. */ static int -putop (const char *template, int sizeflag) +putop (const char *in_template, int sizeflag) { const char *p; int alt = 0; @@ -10198,7 +10198,7 @@ putop (const char *template, int sizeflag) else \ abort (); - for (p = template; *p; p++) + for (p = in_template; *p; p++) { switch (*p) { diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index 9c94e78fdf9..fb1c78e9b42 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -876,7 +876,7 @@ process_i386_opcodes (FILE *table) xcalloc, free); fprintf (table, "\n/* i386 opcode table. */\n\n"); - fprintf (table, "const template i386_optab[] =\n{\n"); + fprintf (table, "const insn_template i386_optab[] =\n{\n"); /* Put everything on opcode array. */ while (!feof (fp)) diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index d7828f37cc7..2dd8eeda66a 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -524,7 +524,7 @@ typedef union i386_operand_type unsigned int array[OTNumOfUints]; } i386_operand_type; -typedef struct template +typedef struct insn_template { /* instruction name sans width suffix ("mov" for movl insns) */ char *name; @@ -566,9 +566,9 @@ typedef struct template either a register or an immediate operand. */ i386_operand_type operand_types[MAX_OPERANDS]; } -template; +insn_template; -extern const template i386_optab[]; +extern const insn_template i386_optab[]; /* these are for register name --> number & type hash lookup */ typedef struct diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h index 0a0c099a756..aa24c533a55 100644 --- a/opcodes/i386-tbl.h +++ b/opcodes/i386-tbl.h @@ -21,7 +21,7 @@ /* i386 opcode table. */ -const template i386_optab[] = +const insn_template i386_optab[] = { { "mov", 2, 0xa0, None, 1, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, diff --git a/opcodes/ia64-dis.c b/opcodes/ia64-dis.c index bd71456cc29..c7b72108262 100644 --- a/opcodes/ia64-dis.c +++ b/opcodes/ia64-dis.c @@ -68,7 +68,7 @@ unit_to_type (ia64_insn opcode, enum ia64_unit unit) int print_insn_ia64 (bfd_vma memaddr, struct disassemble_info *info) { - ia64_insn t0, t1, slot[3], template, s_bit, insn; + ia64_insn t0, t1, slot[3], template_val, s_bit, insn; int slotnum, j, status, need_comma, retval, slot_multiplier; const struct ia64_operand *odesc; const struct ia64_opcode *idesc; @@ -100,20 +100,20 @@ print_insn_ia64 (bfd_vma memaddr, struct disassemble_info *info) t0 = bfd_getl64 (bundle); t1 = bfd_getl64 (bundle + 8); s_bit = t0 & 1; - template = (t0 >> 1) & 0xf; + template_val = (t0 >> 1) & 0xf; slot[0] = (t0 >> 5) & 0x1ffffffffffLL; slot[1] = ((t0 >> 46) & 0x3ffff) | ((t1 & 0x7fffff) << 18); slot[2] = (t1 >> 23) & 0x1ffffffffffLL; - tname = ia64_templ_desc[template].name; + tname = ia64_templ_desc[template_val].name; if (slotnum == 0) (*info->fprintf_func) (info->stream, "[%s] ", tname); else (*info->fprintf_func) (info->stream, " "); - unit = ia64_templ_desc[template].exec_unit[slotnum]; + unit = ia64_templ_desc[template_val].exec_unit[slotnum]; - if (template == 2 && slotnum == 1) + if (template_val == 2 && slotnum == 1) { /* skip L slot in MLI template: */ slotnum = 2; @@ -303,7 +303,7 @@ print_insn_ia64 (bfd_vma memaddr, struct disassemble_info *info) need_comma = 0; } } - if (slotnum + 1 == ia64_templ_desc[template].group_boundary + if (slotnum + 1 == ia64_templ_desc[template_val].group_boundary || ((slotnum == 2) && s_bit)) (*info->fprintf_func) (info->stream, ";;"); diff --git a/opcodes/tic30-dis.c b/opcodes/tic30-dis.c index 2e3271bfe16..c5fafd82192 100644 --- a/opcodes/tic30-dis.c +++ b/opcodes/tic30-dis.c @@ -64,7 +64,7 @@ static unsigned int _pc; struct instruction { int type; - template *tm; + insn_template *tm; partemplate *ptm; }; @@ -78,7 +78,7 @@ get_tic30_instruction (unsigned long insn_word, struct instruction *insn) case THREE_OPERAND: insn->type = NORMAL_INSN; { - template *current_optab = (template *) tic30_optab; + insn_template *current_optab = (insn_template *) tic30_optab; for (; current_optab < tic30_optab_end; current_optab++) { @@ -145,7 +145,7 @@ get_tic30_instruction (unsigned long insn_word, struct instruction *insn) case BRANCHES: insn->type = NORMAL_INSN; { - template *current_optab = (template *) tic30_optab; + insn_template *current_optab = (insn_template *) tic30_optab; for (; current_optab < tic30_optab_end; current_optab++) { diff --git a/opcodes/tic54x-dis.c b/opcodes/tic54x-dis.c index 0b6e7b479f3..9e337b1b26c 100644 --- a/opcodes/tic54x-dis.c +++ b/opcodes/tic54x-dis.c @@ -27,14 +27,14 @@ #include "opcode/tic54x.h" #include "coff/tic54x.h" -static int has_lkaddr (unsigned short, const template *); -static int get_insn_size (unsigned short, const template *); +static int has_lkaddr (unsigned short, const insn_template *); +static int get_insn_size (unsigned short, const insn_template *); static int print_instruction (disassemble_info *, bfd_vma, unsigned short, const char *, const enum optype [], int, int); static int print_parallel_instruction (disassemble_info *, bfd_vma, - unsigned short, - const template *, int); + unsigned short, + const insn_template *, int); static int sprint_dual_address (disassemble_info *,char [], unsigned short); static int sprint_indirect_address (disassemble_info *,char [], @@ -51,7 +51,7 @@ print_insn_tic54x (bfd_vma memaddr, disassemble_info *info) bfd_byte opbuf[2]; unsigned short opcode; int status, size; - const template* tm; + const insn_template* tm; status = (*info->read_memory_func) (memaddr, opbuf, 2, info); if (status != 0) @@ -86,7 +86,7 @@ print_insn_tic54x (bfd_vma memaddr, disassemble_info *info) } static int -has_lkaddr (unsigned short memdata, const template *tm) +has_lkaddr (unsigned short memdata, const insn_template *tm) { return (IS_LKADDR (memdata) && (OPTYPE (tm->operand_types[0]) == OP_Smem @@ -99,11 +99,11 @@ has_lkaddr (unsigned short memdata, const template *tm) /* always returns 1 (whether an insn template was found) since we provide an "unknown instruction" template */ -const template* -tic54x_get_insn (disassemble_info *info, bfd_vma addr, +const insn_template* +tic54x_get_insn (disassemble_info *info, bfd_vma addr, unsigned short memdata, int *size) { - const template *tm = NULL; + const insn_template *tm = NULL; for (tm = tic54x_optab; tm->name; tm++) { @@ -135,7 +135,7 @@ tic54x_get_insn (disassemble_info *info, bfd_vma addr, } } } - for (tm = (template *) tic54x_paroptab; tm->name; tm++) + for (tm = (insn_template *) tic54x_paroptab; tm->name; tm++) { if (tm->opcode == (memdata & tm->mask)) { @@ -149,7 +149,7 @@ tic54x_get_insn (disassemble_info *info, bfd_vma addr, } static int -get_insn_size (unsigned short memdata, const template *insn) +get_insn_size (unsigned short memdata, const insn_template *insn) { int size; @@ -472,7 +472,7 @@ print_parallel_instruction (info, memaddr, opcode, ptm, size) disassemble_info *info; bfd_vma memaddr; unsigned short opcode; - const template *ptm; + const insn_template *ptm; int size; { print_instruction (info, memaddr, opcode, diff --git a/opcodes/tic54x-opc.c b/opcodes/tic54x-opc.c index 6372fecdd1f..91cea9928bf 100644 --- a/opcodes/tic54x-opc.c +++ b/opcodes/tic54x-opc.c @@ -231,9 +231,9 @@ const char *misc_symbols[] = { #define ZPAR 0,{OP_None} #define REST 0,0,ZPAR #define XREST ZPAR -const template tic54x_unknown_opcode = +const insn_template tic54x_unknown_opcode = { "???", 1,0,0,0x0000, 0x0000, {0}, 0, REST}; -const template tic54x_optab[] = { +const insn_template tic54x_optab[] = { /* these must precede bc/bcd, cc/ccd to avoid misinterpretation */ { "fb", 2,1,1,0xF880, 0xFF80, {OP_xpmad}, B_BRANCH|FL_FAR|FL_NR, REST}, { "fbd", 2,1,1,0xFA80, 0xFF80, {OP_xpmad}, B_BRANCH|FL_FAR|FL_DELAY|FL_NR, REST}, @@ -465,7 +465,7 @@ const template tic54x_optab[] = { }; /* assume all parallel instructions have at least three operands */ -const template tic54x_paroptab[] = { +const insn_template tic54x_paroptab[] = { { "ld",1,1,2,0xA800, 0xFE00, {OP_Xmem,OP_DST}, FL_PAR,0,0, "mac", {OP_Ymem,OPT|OP_RND},}, { "ld",1,1,2,0xAA00, 0xFE00, {OP_Xmem,OP_DST}, FL_PAR,0,0, diff --git a/opcodes/z8kgen.c b/opcodes/z8kgen.c index 9fb7de23137..2012bc44460 100644 --- a/opcodes/z8kgen.c +++ b/opcodes/z8kgen.c @@ -904,14 +904,14 @@ static void internal (void) { int c = count (); - struct op *new = xmalloc (sizeof (struct op) * c); + struct op *new_op = xmalloc (sizeof (struct op) * c); struct op *p = opt; - memcpy (new, p, c * sizeof (struct op)); + memcpy (new_op, p, c * sizeof (struct op)); /* Sort all names in table alphabetically. */ - qsort (new, c, sizeof (struct op), (int (*)(const void *, const void *))func); + qsort (new_op, c, sizeof (struct op), (int (*)(const void *, const void *))func); - p = new; + p = new_op; while (p->flags && p->flags[0] != '*') { /* If there are any @rs, sub the ssss into a ssn0, (rs), (ssn0). */ @@ -960,12 +960,12 @@ gas (void) struct op *p = opt; int idx = -1; char *oldname = ""; - struct op *new = xmalloc (sizeof (struct op) * c); + struct op *new_op = xmalloc (sizeof (struct op) * c); - memcpy (new, p, c * sizeof (struct op)); + memcpy (new_op, p, c * sizeof (struct op)); /* Sort all names in table alphabetically. */ - qsort (new, c, sizeof (struct op), (int (*)(const void *, const void *)) func); + qsort (new_op, c, sizeof (struct op), (int (*)(const void *, const void *)) func); printf ("/* DO NOT EDIT! -*- buffer-read-only: t -*-\n"); printf (" This file is automatically generated by z8kgen. */\n\n"); @@ -1279,19 +1279,19 @@ gas (void) printf ("#ifdef DEFINE_TABLE\n"); printf ("const opcode_entry_type z8k_table[] = {\n"); - while (new->flags && new->flags[0]) + while (new_op->flags && new_op->flags[0]) { int nargs; int length; - printf ("\n/* %s *** %s */\n", new->bits, new->name); + printf ("\n/* %s *** %s */\n", new_op->bits, new_op->name); printf ("{\n"); printf ("#ifdef NICENAMES\n"); - printf ("\"%s\",%d,%d,", new->name, new->type, new->cycles); + printf ("\"%s\",%d,%d,", new_op->name, new_op->type, new_op->cycles); { int answer = 0; - char *p = new->flags; + char *p = new_op->flags; while (*p) { @@ -1306,20 +1306,20 @@ gas (void) printf ("#endif\n"); - nargs = chewname (&new->name); + nargs = chewname (&new_op->name); printf ("\n\t"); - chewbits (new->bits, &length); + chewbits (new_op->bits, &length); length /= 2; if (length & 1) abort(); - if (strcmp (oldname, new->name) != 0) + if (strcmp (oldname, new_op->name) != 0) idx++; printf (",%d,%d,%d", nargs, length, idx); - oldname = new->name; + oldname = new_op->name; printf ("},\n"); - new++; + new_op++; } printf ("\n/* end marker */\n"); printf ("{\n#ifdef NICENAMES\nNULL,0,0,\n0,\n#endif\n"); |