aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-06-23 gdb/testsuite/Yao Qi3-0/+24
* gdb.base/moribund-step.exp: Skip test if displaced stepping is not supported. * lib/gdb.exp (support_displaced_stepping): New.
2011-06-232011-06-23 Yao Qi <yao@codesourcery.com>Yao Qi2-0/+7
* gdb.threads/execl.exp: Skip on remote target.
2011-06-23 PR gold/12910Ian Lance Taylor10-164/+409
* options.h (class General_options): Add --ctors-in-init-array. * layout.cc (Layout::get_output_section): Treat SHT_INIT_ARRAY and friends as SHT_PROGBITS for merging sections. (Layout::layout): Remove special handling of .init_array and friends. Don't sort if doing relocatable link. Sort for .ctors and .dtors if ctors_in_init_array. (Layout::make_output_section): Force correct section types for .init_array and friends. Don't sort if doing relocatable link, Don't sort .ctors and .dtors if ctors_in_init_array. (Layout::section_name_mapping): Remove .ctors. and .dtorso. (Layout::output_section_name): Add relobj parameter. Change all callers. Handle .ctors. and .dtors. in code rather than table. Handle .ctors and .dtors if ctors_in_init_array. (Layout::match_file_name): New function, moved from output.cc. * layout.h (class Layout): Update declarations. * output.cc: Include "layout.h". (Input_section_sort_entry::get_priority): New function. (Input_section_sort_entry::match_file_name): Just call Layout::match_file_name. (Output_section::Input_section_sort_init_fini_compare::operator()): Handle .ctors and .dtors. Sort by explicit priority rather than by name. * configure.ac: Remove CONSTRUCTOR_PRIORITY test and conditional. * testsuite/initpri2.c: New test. * testsuite/Makefile.am: Don't test CONSTRUCTOR_PRIORITY. (check_PROGRAMS): Add initpri2. (initpri2_SOURCES, initpri2_DEPENDENCIES): New variables. (initpri2_LDFLAGS, initpri2_LDADD): New variables. * configure, testsuite/Makefile.in: Rebuild.
2011-06-23*** empty log message ***gdbadmin1-1/+1
2011-06-23daily updateAlan Modra1-1/+1
2011-06-22 * elf32-sh.c (sh_elf_relocate_section): Allow R_SH_TLS_LE_32 for PIE.Kaz Kojima2-2/+7
(sh_elf_check_relocs): Likewise.
2011-06-22merge from gccDJ Delorie4-4/+46
2011-06-222011-06-22 Pedro Alves <pedro@codesourcery.com>Pedro Alves5-192/+621
* breakpoint.c (bpstat_stop_status): Call the check_status breakpoint_ops method. (print_one_breakpoint_location): Also print the condition for Ada exception catchpoints. (allocate_bp_location): New, factored out from allocate_bp_location. (allocate_bp_location): Adjust. Call the owner breakpoint's allocate_location method, if there is one. (free_bp_location): Call the locations's dtor method, if there is one. (init_raw_breakpoint_without_location): New breakpoint_ops parameter. Use it. (set_raw_breakpoint_without_location): Adjust. (init_raw_breakpoint): New breakpoint_ops parameter. Pass it down. (set_raw_breakpoint): Adjust. (catch_fork_breakpoint_ops, catch_vfork_breakpoint_ops) (catch_syscall_breakpoint_ops): Install NULL allocate_location, re_set and check_status methods. (init_catchpoint): Don't memset, initialize thread, addr_string and enable_state. Pass the ops down to init_raw_breakpoint. (install_catchpoint): Rename to ... (install_breakpoint): ... this, and make extern. (create_fork_vfork_event_catchpoint): Adjust. (catch_exec_breakpoint_ops): Install NULL allocate_location, re_set and check_status methods. (create_syscall_event_catchpoint): Adjust. (ranged_breakpoint_ops, watchpoint_breakpoint_ops) (masked_watchpoint_breakpoint_ops): Install NULL allocate_location, re_set and check_status methods. (catch_exec_command_1): Adjust. (gnu_v3_exception_catchpoint_ops): Install NULL allocate_location, re_set and check_status methods. (create_ada_exception_breakpoint): Rename to ... (init_ada_exception_breakpoint): ... this. Add a struct breakpoint parameter, and delete the exp_string, cond_string and cond parameters. Use init_raw_breakpoint, and don't install or mention the breakpoint yet. Don't clear breakpoint fields that init_raw_breakpoint already clears. (re_set_breakpoint): Delete, split into ... (breakpoint_re_set_default, prepare_re_set_context): ... these new functions. (breakpoint_re_set_one): Call the breakpoint's breakpoint_ops->re_set implementation, if there's one. Adjust. * breakpoint.h: Forward declare struct bpstats and struct bp_location. (struct bp_location_ops): New type. (struct bp_location): New field `ops'. (struct breakpoint_ops): New `allocate_location', `re_set' and `check_status' fields. Make `breakpoint_hit''s description match reality. (init_bp_location): Declare. (breakpoint_re_set_default): Declare. (create_ada_exception_breakpoint): Rename to ... (init_ada_exception_breakpoint): ... this. Add a struct breakpoint parameter, and delete the exp_string, cond_string and cond parameters. (install_breakpoint): Declare. * ada-lang.c: Include exceptions.h. <Ada exceptions description>: Update. (struct ada_catchpoint_location): New type. (ada_catchpoint_location_dtor): New function. (ada_catchpoint_location_ops): New global. (ada_catchpoint): New type. (create_excep_cond_exprs): New function. (dtor_exception, allocate_location_exception, re_set_exception) (should_stop_exception, check_status_exception): New functions. (print_one_exception, print_mention_exception) (print_recreate_exception): Adjust. (dtor_catch_exception, allocate_location_catch_exception) (re_set_catch_exception, check_status_catch_exception): New functions. (catch_exception_breakpoint_ops): Install them. (dtor_catch_exception_unhandled) (allocate_location_catch_exception_unhandled) (re_set_catch_exception_unhandled) (check_status_catch_exception_unhandled): New functions. (catch_exception_unhandled_breakpoint_ops): Install them. (dtor_catch_assert, allocate_location_catch_assert) (re_set_catch_assert, check_status_catch_assert): New functions. (catch_assert_breakpoint_ops): Install them. (ada_exception_catchpoint_p): Delete. (catch_ada_exception_command_split) (ada_exception_catchpoint_cond_string): Rename exp_string parameter to excep_string. Adjust. (ada_parse_catchpoint_condition): Delete. (ada_exception_sal): Rename the exp_string parameter to excep_string. Delete the cond_string and cond parameters. Adjust. (ada_decode_exception_location): Rename the exp_string parameter to excep_string. Delete the cond_string and cond parameters. Adjust. (create_ada_exception_catchpoint): New function. (catch_ada_exception_command, ada_decode_assert_location) (catch_assert_command): Adjust. * ada-lang.h (ada_exception_catchpoint_p): Delete declaration.
2011-06-222011-06-22 Pedro Alves <pedro@codesourcery.com>Pedro Alves5-84/+119
* ada-lang.c: Include arch-utils.h. (ada_decode_exception_location): Make static. (catch_ada_exception_command): Moved here from breakpoint.c. (ada_decode_assert_location): Make static. (catch_assert_command): Moved here from breakpoint.c. (_initialize_ada_lang): Install the exception and assert catchpoint commands here. * ada-lang.h (ada_decode_exception_location) (ada_decode_assert_location): Delete declarations. * breakpoint.c (CATCH_PERMANENT, CATCH_TEMPORARY): Moved to breakpoint.h. (create_ada_exception_breakpoint): Make extern. (catch_ada_exception_command, catch_assert_command): Moved to ada-lang.c. (add_catch_command): Make extern. (_initilize_breakpoint): Don't install the exception and assert catchpoint commands here. * breakpoint.h (CATCH_PERMANENT, CATCH_TEMPORARY): Moved from breakpoint.c (add_catch_command, create_ada_exception_breakpoint): Declare.
2011-06-222011-06-22 Pedro Alves <pedro@codesourcery.com>Pedro Alves2-26/+37
* breakpoint.c (init_raw_breakpoint_without_location): Don't add the breakpoint to the breakpoint chain here. (set_raw_breakpoint_without_location): Add the breakpoint to the breakpoint chain here. (init_raw_breakpoint): Adjust comments. (set_raw_breakpoint): Add the breakpoint to the breakpoint chain here. (init_catchpoint): Don't set the catchpoint's breakpoint number here. (install_catchpoint): New function. (create_fork_vfork_event_catchpoint) (create_syscall_event_catchpoint, catch_exec_command_1): Adjust to use install_catchpoint.
2011-06-222011-06-22 Pedro Alves <pedro@codesourcery.com>Pedro Alves2-42/+5
* breakpoint.c (create_catchpoint_without_mention) (create_catchpoint): Delete.
2011-06-222011-06-22 Pedro Alves <pedro@codesourcery.com>Pedro Alves3-16/+61
* breakpoint.h (struct breakpoint): Delete field `exec_pathname'. * breakpoint.c (init_raw_breakpoint_without_location): Remove reference to exec_pathname. (struct exec_catchpoint): New type. (dtor_catch_exec): New function. (insert_catch_exec, print_it_catch_exec, print_one_catch_exec): Adjust. (catch_exec_breakpoint_ops): Install dtor_catch_syscall. (catch_exec_command_1): Adjust to use init_catchpoint. (delete_breakpoint): Remove reference to exec_pathname.
2011-06-222011-06-22 Pedro Alves <pedro@codesourcery.com>Pedro Alves4-31/+107
* breakpoint.h (struct breakpoint_ops): New field `dtor'. (struct breakpoint): Delete field `syscalls_to_be_caught'. * breakpoint.c (init_raw_breakpoint_without_location): Remove reference to syscalls_to_be_caught. (catch_fork_breakpoint_ops, catch_vfork_breakpoint_ops): Install a NULL `dtor'. (struct syscall_catchpoint): New type. (dtor_catch_syscall): New function. (insert_catch_syscall, remove_catch_syscall) (breakpoint_hit_catch_syscall, print_one_catch_syscall) (print_recreate_catch_syscall): Adjust. (catch_syscall_breakpoint_ops): Install dtor_catch_syscall. (catch_exec_breakpoint_ops): Install a NULL `dtor'. (create_syscall_event_catchpoint): Adjust to use init_catchpoint. (ranged_breakpoint_ops, watchpoint_breakpoint_ops) (masked_watchpoint_breakpoint_ops) (gnu_v3_exception_catchpoint_ops): Install a NULL `dtor'. (delete_breakpoint): Call the `dtor' breakpoint_ops method, if there is one. Remove references to syscalls_to_be_caught. (catching_syscall_number): Adjust. * ada-lang.c (catch_exception_breakpoint_ops) (catch_exception_unhandled_breakpoint_ops) (catch_assert_breakpoint_ops): Install a NULL `dtor'.
2011-06-222011-06-22 Pedro Alves <pedro@codesourcery.com>Pedro Alves3-19/+56
* breakpoint.h (struct breakpoint): Delete forked_inferior_pid field. * breakpoint.c (init_raw_breakpoint_without_location): Remove reference to forked_inferior_pid. (struct fork_catchpoint): New type. (breakpoint_hit_catch_fork, print_it_catch_fork) (print_one_catch_fork, breakpoint_hit_catch_vfork) (print_it_catch_vfork, print_one_catch_vfork): Adjust. (create_fork_vfork_event_catchpoint): Adjust to use init_catchpoint.
2011-06-222011-06-22 Pedro Alves <pedro@codesourcery.com>Pedro Alves2-50/+123
* breakpoint.c (add_to_breakpoint_chain) (init_raw_breakpoint_without_location): New functions, factored out from ... (set_raw_breakpoint_without_location): ... this one. (init_raw_breakpoint): New function, factored out from set_raw_breakpoint and adjusted to use init_raw_breakpoint_without_location. (set_raw_breakpoint): Adjust. (init_catchpoint): New function, factored out from create_catchpoint_without_mention and adjusted to use init_raw_breakpoint. (create_catchpoint_without_mention): Adjust.
2011-06-22 * elf64-alpha.c (elf64_alpha_check_relocs): No dynamic reloc forRichard Henderson2-13/+27
TPREL in a PIE image. (alpha_dynamic_entries_for_reloc): Likewise. (elf64_alpha_relocate_section): Allow TPREL in PIE images. (elf64_alpha_relax_got_load): Likewise.
2011-06-22Fix races in gdb.mi/mi-var-display.exp.Marek Polacek2-6/+7
2011-06-222011-06-22 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>Ramana Radhakrishnan2-1/+6
* elf32-arm.c (elf32_arm_final_link_relocate): Allow R_ARM_TLS_LE32 for PIE.
2011-06-22Fix races in gdb.mi/mi-nsitrall.exp.Marek Polacek2-11/+13
2011-06-22Fix races in gdb.mi/mi-nsmoribund.exp.Marek Polacek2-6/+10
2011-06-22Fix races in gdb.mi/mi-return.exp.Marek Polacek2-5/+5
2011-06-22 * dwarf2.h (enum dwarf_location_atom): Add DW_OP_GNU_parameter_ref.Jakub Jelinek4-2/+19
* dwarf.c (decode_location_expression): For DW_OP_GNU_convert and DW_OP_GNU_reinterpret, if uvalue is 0, don't add cu_offset. Handle DW_OP_GNU_parameter_ref.
2011-06-22 * dwarf2expr.c (execute_stack_op) <DW_OP_GNU_convert>: Treat typeTom Tromey2-1/+9
argument of 0 specially.
2011-06-22 gdb/Yao Qi2-2/+5
* infrun.c (handle_inferior_event): Remove write-only local variable `sw_single_step_trap_p'.
2011-06-22* ld/testsuite/ld-elf/elf.exp: Execute array_tests_pie tests on *-*-gnu*, too.Thomas Schwinge2-2/+6
2011-06-22sim: bfin: pass up result2/errcode with libgloss syscallsMike Frysinger2-2/+7
Now that the Blackfin libgloss code extracts the 2nd result and the error code from the R1/R2 registers, have the sim fill them up. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-22*** empty log message ***gdbadmin1-1/+1
2011-06-21Re-indent prefix_table.H.J. Lu2-2/+7
2011-06-21 H.J. Lu <hongjiu.lu@intel.com> * i386-dis.c (prefix_table): Re-indent PREFIX_VEX_0F388C and PREFIX_VEX_0F388E.
2011-06-212011-06-21 Sameera Deshpande <sameera.deshpande@arm.com>Matthew Gretton-Dann8-2/+195
* gas/config/tc-arm.c (vfp_conv): Add check on range of immediate operand in vcvt instruction between floating-point and fixed-point. (operand_parse_code): Add "OP_oI32z". (parse_operands): OP_oI32z case added. * gas/testsuite/gas/arm/vcvt-bad.d: New test. * gas/testsuite/gas/arm/vcvt-bad.l: Likewise. * gas/testsuite/gas/arm/vcvt-bad.s: Likewise. * gas/testsuite/gas/arm/vcvt.d: Likewise. * gas/testsuite/gas/arm/vcvt.s: Likewise.
2011-06-21 * elflink.c (_bfd_elf_merge_symbol): Allow type changes forAlan Modra2-4/+14
plugin symbols. Fix segfault on linker scrip defined syms.
2011-06-21daily updateAlan Modra1-1/+1
2011-06-21*** empty log message ***gdbadmin1-1/+1
2011-06-20 * symtab.c (lookup_language_this): End loop if block is NULL.Tom Tromey2-2/+8
2011-06-20Adjust x86 IFUNC PLT.H.J. Lu4-3/+9
2011-06-20 H.J. Lu <hongjiu.lu@intel.com> * ld-ifunc/ifunc-1-local-x86.d: Adjusted. * ld-ifunc/ifunc-1-x86.d: Likewise. * ld-ifunc/ifunc-3a-x86.d: Likewise.
2011-06-20 * am33.igen (sub Rm,Rn,Rd): Fix computation of carry flag.Nick Clifton2-1/+5
2011-06-20Revert x86_64-x32-* change.H.J. Lu9-17/+16
gas/ 2011-06-20 H.J. Lu <hongjiu.lu@intel.com> * configure.tgt: Revert x32 change. ld/ 2011-06-20 H.J. Lu <hongjiu.lu@intel.com> * configure.tgt: Revert x32 change. ld/testsuite/ 2011-06-20 H.J. Lu <hongjiu.lu@intel.com> * ld-elf/eh1.d: Revert x32 change. * ld-elf/eh2.d: Likewise. * ld-elf/eh3.d: Likewise. * ld-elf/eh4.d: Likewise.
2011-06-20 PR ld/12570Jakub Jelinek55-90/+435
include/ * bfdlink.h (struct bfd_link_info): Add no_ld_generated_unwind_info option. ld/ * emultempl/elf32.em (OPTION_LD_GENERATED_UNWIND_INFO, OPTION_NO_LD_GENERATED_UNWIND_INFO): Define. (gld${EMULATION_NAME}_handle_option): Handle --ld-generated-unwind-info and --no-ld-generated-unwind-info. * ld.texinfo (--ld-generated-unwind-info, --no-ld-generated-unwind-info): Document. bfd/ * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Allow no relocations at all for linker created .eh_frame sections. (_bfd_elf_discard_section_eh_frame): Handle linker created .eh_frame sections with no relocations. * elf64-x86-64.c: Include dwarf2.h. (elf_x86_64_eh_frame_plt): New variable. (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET, PLT_FDE_LEN_OFFSET): Define. (struct elf_x86_64_link_hash_table): Add plt_eh_frame field. (elf_x86_64_create_dynamic_sections): Create and fill in .eh_frame section for .plt section. (elf_x86_64_size_dynamic_sections): Write .plt section size into .eh_frame FDE covering .plt section. (elf_x86_64_finish_dynamic_sections): Write .plt section start into .eh_frame FDE covering .plt section. Call _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section. (elf_backend_plt_alignment): Define to 4. * elf32-i386.c: Include dwarf2.h. (elf_i386_eh_frame_plt): New variable. (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET, PLT_FDE_LEN_OFFSET): Define. (struct elf_i386_link_hash_table): Add plt_eh_frame field. (elf_i386_create_dynamic_sections): Create and fill in .eh_frame section for .plt section. (elf_i386_size_dynamic_sections): Write .plt section size into .eh_frame FDE covering .plt section. (elf_i386_finish_dynamic_sections): Write .plt section start into .eh_frame FDE covering .plt section. Call _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section. (elf_backend_plt_alignment): Define to 4. ld/testsuite/ * ld-x86-64/x86-64.exp: Link some testcases with --no-ld-generated-unwind-info. * ld-x86-64/tlsbin.rd: Add --no-ld-generated-unwind-info to ld comment. * ld-x86-64/tlsdesc.dd: Likewise. * ld-x86-64/tlspic.dd: Likewise. * ld-x86-64/tlsdesc.sd: Likewise. * ld-x86-64/tlspic.rd: Likewise. * ld-x86-64/tlsbindesc.rd: Likewise. * ld-x86-64/tlsbindesc.sd: Likewise. * ld-x86-64/tlsbin.td: Likewise. * ld-x86-64/tlsdesc.pd: Likewise. * ld-x86-64/tlsdesc.td: Likewise. * ld-x86-64/tlsbindesc.dd: Likewise. * ld-x86-64/tlsbin.dd: Likewise. * ld-x86-64/tlsgdesc.rd: Likewise. * ld-x86-64/tlspic.sd: Likewise. * ld-x86-64/tlsbindesc.td: Likewise. * ld-x86-64/tlspic.td: Likewise. * ld-x86-64/tlsbin.sd: Likewise. * ld-x86-64/ilp32-4.d: Likewise. * ld-x86-64/tlsgdesc.dd: Add --no-ld-generated-unwind-info to ld comment. Adjust. * ld-x86-64/tlsdesc.rd: Likewise. * ld-x86-64/tlsgd6.dd: Adjust. * ld-x86-64/tlsgd5.dd: Likewise. * ld-i386/i386.exp: Link some testcases with --no-ld-generated-unwind-info. * ld-i386/tlsbin.rd: Add --no-ld-generated-unwind-info to ld comment.. * ld-i386/tlsdesc.dd: Likewise. * ld-i386/tlspic.dd: Likewise. * ld-i386/tlsdesc.sd: Likewise. * ld-i386/tlsgdesc.dd: Likewise. * ld-i386/tlsnopic.sd: Likewise. * ld-i386/tlspic.rd: Likewise. * ld-i386/tlsdesc.rd: Likewise. * ld-i386/tlsbindesc.rd: Likewise. * ld-i386/tlsbindesc.sd: Likewise. * ld-i386/tlsbin.td: Likewise. * ld-i386/tlsdesc.td: Likewise. * ld-i386/tlsnopic.dd: Likewise. * ld-i386/tlsbindesc.dd: Likewise. * ld-i386/tlsbin.dd: Likewise. * ld-i386/tlsgdesc.rd: Likewise. * ld-i386/tlspic.sd: Likewise. * ld-i386/tlsnopic.rd: Likewise. * ld-i386/tlsbindesc.td: Likewise. * ld-i386/tlspic.td: Likewise. * ld-i386/tlsbin.sd: Likewise.
2011-06-20 * doc/Makefile.am: (CPU_DOCS): Add c-xstormy16.texi.Nick Clifton5-0/+114
* doc/Makefile.in: Regenerate. * doc/all.texi: Set XSTORMY16. * doc/c-xstormy16.texi: New file.
2011-06-20daily updateAlan Modra1-1/+1
2011-06-20*** empty log message ***gdbadmin1-1/+1
2011-06-19 PR gold/12880Ian Lance Taylor3-41/+36
* layout.cc (Layout::attach_allocated_section_to_segment): Add a .interp section to a PT_INTERP segment even if we have seen a --dynamic-linker option. Don't do it if we have seen a PHDRS clause in a linker script. (Layout::finalize): Don't create a .interp section if we've already create a PT_INTERP segment. (Layout::create_interp): Always call choose_output_section (revert patch of 2011-06-17). Don't create PT_INTERP segment. * script-sections.cc (Script_sections::create_note_and_tls_segments): Add a .interp section to a PT_INTERP segment even if we have seen a --dynamic-linker option.
2011-06-19Fix misc x32 bugs.H.J. Lu20-14/+79
bfd/ 2011-06-19 H.J. Lu <hongjiu.lu@intel.com> * elf64-x86-64.c (elf_backend_post_process_headers): Defined for x32. binutils/testsuite/ 2011-06-19 H.J. Lu <hongjiu.lu@intel.com> * binutils-all/elfedit-1.d: Updated for x32. gas/ 2011-06-19 H.J. Lu <hongjiu.lu@intel.com> * configure.tgt: Support x32. ld/ 2011-06-19 H.J. Lu <hongjiu.lu@intel.com> * configure.tgt: Support x32. ld/testsuite/ 2011-06-19 H.J. Lu <hongjiu.lu@intel.com> * ld-elf/eh1.d: Skip x32. * ld-elf/eh2.d: Likewise. * ld-elf/eh3.d: Likewise. * ld-elf/eh4.d: Likewise. * ld-elfvsb/elfvsb.exp: Only xfail 64bit x86_64-*-linux*. * ld-shared/shared.exp: Likewise. * ld-ifunc/ifunc-1-local-x86.d: Support x32. * ld-ifunc/ifunc-1-x86.d: Likewise. * ld-ifunc/ifunc-3a-x86.d: Likewise. * ld-x86-64/pcrel16.d: Likewise. * ld-x86-64/x86-64.exp (x86_64tests): Add missing -melf_x86_64.
2011-06-19*** empty log message ***gdbadmin1-1/+1
2011-06-18 * layout.cc (Layout::finish_dynamic_section): Don't set DT_TEXTRELIan Lance Taylor2-2/+8
merely because a non-PT_LOAD segment has a dynamic reloc.
2011-06-18 * layout.cc (Layout::finish_dynamic_section): Don't createIan Lance Taylor2-2/+8
DT_FLAGS entry if not needed.
2011-06-18 PR gold/12745Ian Lance Taylor2-2/+18
* layout.cc (Layout::layout_eh_frame): Correct handling of writable .eh_frame section.
2011-06-18sim: bfin: set ASTAT AV/AVS when shifting accumulators overflowMike Frysinger2-0/+12
The LSHIFT/ASHIFT insns that work with accumulators lacked AV/AVS handling in the ASTAT register, so add it to match the hardware. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: do not touch ASTAT[V] when shifting accumulatorsMike Frysinger2-3/+9
If we're shifting accumulators, we don't want to touch the V bit in ASTAT, so add size checks to the ashiftrt/lshiftrt helpers. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: do not extend accumulator in LSHIFT insnsMike Frysinger2-1/+6
The logical shift insn does not sign extend before shifting, so we shouldn't either. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-18sim: bfin: tweak saturation handling with TFU/FU modes and MM bitMike Frysinger2-14/+35
This too should have been squashed into an earlier change. It covers a few more cases in the V/VS saturation patch when working with TFU and FU modes of dsp insns. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>