* config/tc-m68k.c (instring): Useless local declaration of
crack_operand removed.
* expr.h (expressionS): Changed type of X_op field to operatorT if
__GNUC__.
* config/tc-i960.h (TC_SYMFIELD_TYPE): Define if OBJ_COFF.
(_tc_get_bal_of_call): Don't declare.
(tc_get_bal_of_call): Declare as function, don't define as macro.
* config/tc-i960.c (tc_set_bal_of_call): If OBJ_COFF, store balP
in sy_tc field, not x_balntry field.
(tc_get_bal_of_call): Rename from _tc_get_bal_of_call. Change
return type to symbolS *. If OBJ_COFF, retrieve value from sy_tc
field, not x_balntry field.
(usage): Mention --adjust-section-vma.
(OPTION_ADJUST_VMA): Define.
(long_options): Add "addjust-vma".
(display_bfd): If adjust_section_vma is not 0, add it to all the
section addresses.
(main): Handle OPTION_ADJUST_VMA.
* binutils.texi, objdump.1: Document --adjust-vma.
name begins with ".note".
(map_sections_to_segments): Add a PT_NOTE segment for any loadable
section whose name begins with ".note".
(get_program_header_size): Corresponding change.
(TARG_CPU_DEP_mips): Depend upon $(srcdir)/itbl-ops.h.
(itbl-lex.o): Depend upon itbl-parse.h.
* itbl-parse.y (yyerror): Change return type to int. Change to
use old style function declaration.
call listing_list.
(s_if, s_ifc, s_endif, s_else, s_ifeqs): Likewise.
* listing.c (list_info_struct): Add EDICT_NOLIST_NEXT.
(listing_listing): Handle EDICT_NOLIST_NEXT.
(listing_list): An argument of 2 means EDICT_NOLIST_NEXT.
* listing.h (LISTING_NOCOND): Define.
(LISTING_SKIP_COND): Define.
* as.c (show_usage): Mention c as a suboption of -a.
(parse_args): Handle c as a suboption of -a.
* doc/as.texinfo: Document -alc.
* elflink.h (elf_link_add_archive_symbols): If a default symbol is
not found, try looking it up again without the version name.
(elf_link_add_object_symbols): Always link against the dynamic
symbol table of a dynamic object. When linking against a dynamic
object, include version strings in symbol names, and set up
version information. Add indirect symbols for default versions.
(elf_link_create_dynamic_sections): Add special version sections.
(struct elf_assign_sym_version_info): Define.
(struct elf_find_verdep_info): Define.
(NAME(bfd_elf,size_dynamic_sections)): Add verdefs parameter. Set
up version sections.
(elf_adjust_dynamic_symbol): Ignore indirect symbols.
(elf_link_find_version_dependencies): New static function.
(elf_link_assign_sym_version): New static function.
(elf_link_renumber_dynsyms): New static function.
(struct elf_final_link_info): Add symver_sec field.
(elf_bfd_final_link): Initialize finfo.symver_sec. Don't count
local symbols of a dynamic object. Handle DT_VER* constants.
(elf_link_output_extsym): Simplify BFD_ASSERT checking for a
dynamic object. Skip indirect symbols from ELF objects. Remove
the version name before choosing a hash bucket. Write out the
version information if appropriate.
(elf_link_input_bfd): Check for DYNAMIC, not ET_DYN.
* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
(bfd_elf64_size_dynamic_sections): Likewise.
* bfd-in2.h: Rebuild.
* elf-bfd.h (struct elf_link_hash_entry): Add verinfo field.
Change elf_link_hash_flags to unsigned short.
(ELF_LINK_HIDDEN): Define.
(struct elf_obj_tdata): Add fields dynversym_hdr, dynverref_hdr,
dynverdef_hdr, dynversym_section, dynverdef_section,
dynverref_section, cverdefs, cverrefs, verdef, verref.
(elf_dynversym, elf_dynverdef, elf_dynverref): Define.
(_bfd_elf_swap_verdef_in, _bfd_elf_swap_verdef_out): Declare.
(_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Declare.
(_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Declare.
(_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Declare.
(_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Declare.
(_bfd_elf_slurp_version_tables): Declare.
* elf.c (_bfd_elf_swap_verdef_in): New function.
(_bfd_elf_swap_verdef_out): Likewise.
(_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Likewise.
(_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Likewise.
(_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Likewise.
(_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Likewise.
(_bfd_elf_print_private_bfd_data): Add DT_VER* constants. Print
version information if there is any.
(_bfd_elf_link_hash_newfunc): Initialize verinfo field.
(bfd_section_from_shdr): Handle SHT_GNU_ver* section types.
(elf_fake_sections): Handle .gnu.version* section names.
(assign_section_numbers): Handle SHT_GNU_ver* section types.
(_bfd_elf_slurp_version_tables): New function.
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't include
version name in string entered in dynamic hash table.
* elfcode.h: Include fnmatch.h.
* elf32-i386.c (elf_i386_relocate_section): Handle a dynamic
symbol which was forced to become local.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
(OFF_SL_BR_SCALED): ... to this, and added the flag
TIC80_OPERAND_BASEREL to the flags word.
(tic80_opcodes): Replace all occurances of LSI_SCALED with
OFF_SL_BR_SCALED.
start-sanitize-tic80
* config/tc-tic80.c (md_pseudo_table): Add entry for bss, which takes
an additional alignment argument.
(find_opcode): Allow O_symbol relocs for any 32 bit field, not just
base relative ones.
(build_insn): Handle O_symbol relocs for any 32 bit field, not just
base relative ones.
end-sanitize-tic80
regops.d, relocs1.d,
(relocs1.c): Add file for reference.
(relocs1b.d): Split reloc table contents test to different test file.
(relocs2.c): Add test that uses various types (char, short, int, ...) of
static and global variables with data shuffling to generate lots of ld/st
instructions for the different types.
(relocs2.d): New file, expected code for relocs2 test.
(relocs2.lst): New file, TI assembler listing for reference.
(relocs2.s): New file, assembly source for relocs2 test.
(relocs2b.d): New file, expected reloc table contents for relocs2 test.
(tic80.exp): Run the relocs1b, relocs2, and relocs2b tests.
* configure, configure.in: Move itbl-cpu.h to mips specific configure.
* itbl-ops.h: Include itbl-cpu.h only if HAVE_ITBL_CPU is defined.
* config/tc-mips.h: Define HAVE_ITBL_CPU.
* gas/mips/itbl.s: Add comments. Prefix register names with $.
* gas/all/itbl: Generic table for testing for itbl support.
* gas/all/itbl.s: Generic assembly for testing for itbl support.
* gas/mips/itbl-test.c: Moved to gas/all.
* gas/all/itbl-test.c: Moved from gas/mips.
Change mips_opcodes from const array to a pointer,
and change bfd_mips_num_opcodes from const int to int,
so that we can increase the size of the mips opcodes table
dynamically.
Change mips_opcodes from const array to a pointer,
and change bfd_mips_num_opcodes from const int to int,
so that we can increase the size of the mips opcodes table
dynamically.
* itbl-lex.l: Fix indentation mistakes from indent program.
* itbl-ops.h: Add include for ansidecl.h.
Add PARAMS around function arguments.
Add declaration for itbl_have_entries.
* itbl-ops.c: Add PARAMS around function arguments.
* Makefile.in: Add itbl build rules.
Add dependancies for itbl files to mips target.
* as.c: Add itbl support.
Add new option "--insttbl" for dynamically extending instruction set.
* as.h: Declare insttbl_file_name;
the name of file defining extensions to the basic instruction set
* configure.in, configure: Add itbl-parse.o, itbl-lex.o, and
itbl-ops.o to extra_objects for mips configuration.
Add include file link from itbl-cpu.h to
config/itbl-${target_cpu_type}.h.
* config/tc-mips.c: Allow copz instructions.
Add notes for future additions to the itbl support.
Add debug macros.
(macro): Call itbl_assemble to assemble itbl instructions.
See if an unknown register is specified in an itbl entry.
store BITNUM values in the table in one's complement form
to match behavior when assembler is given a raw numeric
value for a BITNUM operand.
* tic80-dis.c (print_operand_bitnum): Ditto.