(Addr2line_cache_entry): New struct.
(addr2line_cache): New static var.
(Dwarf_line_info::one_addr2line): Added caching.
(Dwarf_line_info::clear_addr2line_cache): New function.
* dwarf_reader.h (Dwarf_line_info::one_addr2line): Add
cache-size parameter.
(Dwarf_line_info::one_addr2line_cache): New function.
* symtab.cc (Symbol_table::detect_odr_violations): Pass
new cache-size argument to one_addr2line(), and clear cache.
the FUNCTYPE parameter might be NULL.
* gdbarch.h: Regenerated.
* sparc-tdep.c (sparc32_push_dummy_code): Do not pass the function
type when calling using_struct_return, as this is unnecessary
on this target.
(_bfd_elf_canonicalize_dynamic_reloc): Find dynamic relocations
even if they are not loaded.
* elflink.c (_bfd_elf_init_2_index_sections): Set data_index_section
first.
* ld-arm/symbian-seg1.s, ld-arm/symbian-seg1.d: New files.
* ld-arm/arm-elf.exp: Run symbian-seg1.
* gas/mips/mips4-fp.s: ... to here.
* gas/mips/mips4.d: Update.
* gas/mips/mips4-fp.l: New file. Check error messages with
-msoft-float.
* gas/mips/mips4-fp.d: New file. Check disassembly with
hard-float.
* gas/mips/mips32r2.s: Split out fp instructions from here ...
* gas/mips/mips32r2-fp32.s: ... to here.
* gas/mips/mips32r2.d: Update.
* gas/mips/mips32r2-fp32.l: New file. Check error messages with
-msoft-float.
* gas/mips/mips32r2-fp32.d: New file. Check disassembly with
hard-float.
* gas/mips/mips32r2-ill-nofp.s, gas/mips/mips32r2-ill-nofp.l: New
test derived from mips32r2-ill.
* gas/mips/mips32-sf32.l: New list test for mips32-sf32.s to check
error messages for soft-float targets.
* gas/mips/mips-macro-ill-sfp.s, gas/mips/mips-macro-ill-sfp.l:
New test for -msingle-float.
* gas/mips/mips-macro-ill-nofp.s, gas/mips/mips-macro-ill-nofp.l:
New test for -msoft-float.
* gas/mips/mips-hard-float-flag.s,
gas/mips/mips-hard-float-flag.l: New test for -mhard-float.
* gas/mips/mips-double-float-flag.s,
gas/mips/mips-double-float-flag.l: New test for -mdouble-float.
* gas/mips/mips.exp: Run new mips4-fp and mips32r2-fp dump tests.
Run mips4-fp and mips32r2-fp list tests with -msoft-float. Run
new mips32r2-ill-nofp with -msoft-float. Run new mips32-sf32 list
test with -msoft-float. Run new mips-macro-ill-sfp test with
-msingle-float. Run new mips-macro-ill-nofp test with
-msoft-float. Run new mips-hard-float-flag and
mips-double-float-flag tests.
New statics.
(OPTION_ELF_BASE): Make room for new option macros.
(OPTION_SOFT_FLOAT, OPTION_HARD_FLOAT, OPTION_SINGLE_FLOAT,
OPTION_DOUBLE_FLOAT): New option macros.
(md_longopts): Add msoft-float, mhard-float, msingle-float and
mdouble-float.
(md_parse_option): Handle OPTION_SINGLE_FLOAT,
OPTION_DOUBLE_FLOAT, OPTION_SOFT_FLOAT and OPTION_HARD_FLOAT.
(md_show_usage): Add -msoft-float, -mhard-float, -msingle-float
and -mdouble-float.
(struct mips_set_options): New fields soft_float and single_float.
(mips_opts): Initialized them. Add comment for each field
initializer.
(mips_after_parse_args): Set them based on file_mips_soft_float
and file_mips_single_float.
(s_mipsset): Add support for `.set softfloat', `.set hardfloat',
`.set singlefloat' and `.set doublefloat'.
(is_opcode_valid): New function to invoke OPCODE_IS_MEMBER.
Handle single-float and soft-float instructions here.
(macro_build, mips_ip): Use it instead of OPCODE_IS_MEMBER.
(is_opcode_valid_16): New function.
(mips16_ip): Use it instead of OPCODE_IS_MEMBER.
(macro) <M_LDC1_AB, M_SDC1_AB, M_L_DOB, M_L_DAB, M_S_DAB,
M_S_DOB>: Remove special-casing of r4650.
* doc/c-mips.texi (-march=): Add Octeon.
(MIPS Opts): Document -msoft-float and -mhard-float. Document
-msingle-float and -mdouble-float.
(MIPS floating-point): New section. Document `.set softfloat' and
`.set hardfloat'. Document `.set singlefloat' and `.set
doublefloat'.
instructions FP_S. Mark l.s, li.s, lwc1, swc1, s.s, trunc.w.s and
cop1 macros INSN2_M_FP_S. Mark l.d, li.d, ldc1 and sdc1 macros
INSN2_M_FP_D. Mark trunc.w.d macro INSN2_M_FP_S and INSN2_M_FP_D.
* config/tc-sparc.c: Accept 'softint_clear' and 'softint_set'
%asr aliases.
* doc/c-sparc.texi: Consistently refer to architecture 'versions',
rather than occaisionally 'levels'. Consistently refer to Sun's
UNIX variant as SunOS, every version of Solaris is also SunOS.
Document new 'softint_clear' and 'softint_set' aliases. Clarify
which architecture versions support '%dcr', '%cq', and '%gl'. Add
section on 32-bit/64-bit opcode translations.
opcodes/
* sparc-dis.c: Emit %stick instead of %sys_tick, and %stick_cmpr
instead of %sys_tick_cmpr, as suggested in architecture manuals.