69145 Commits

Author SHA1 Message Date
fc99ebdc2b gas: blackfin: gas: blackfin: reject invalid BYTEUNPACK insns
The destination registers must be different with BYTEUNPACK insns,
otherwise the hardware throws up an exception.  So reject them.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-29 05:54:41 +00:00
3823a07437 gas: blackfin: gas: blackfin: reject invalid BYTEOP16M insns
The destination registers must be different with BYTEOP16M insns,
otherwise the hardware throws up an exception.  So reject them.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-29 05:51:22 +00:00
0be99d4ba6 gas: blackfin: gas: blackfin: reject invalid BYTEOP16P insns
The destination registers must be different with BYTEOP16P insns,
otherwise the hardware throws up an exception.  So reject them.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-29 05:44:56 +00:00
c3a7b1206d PR ld/12613
* ldlex.l (lex_warn_invalid): Don't assume char is unsigned.
2011-03-29 02:52:36 +00:00
9382dad2ae * coffdump.c: Include bfd_stdint.h 2011-03-29 02:06:53 +00:00
4c06dfcd2d libdecnumber: start a gitignore 2011-03-29 01:59:37 +00:00
1a3af0bfc3 sim: bfin: fix sign extension with 16bit acc add insns
The current implementation attempts to handle the 16bit sign extension
itself.  Unfortunately, it gets it right in some cases.  So rather than
fix that logic, just drop it in favor of using 16bit signed casts.  Now
gcc will take care of getting the logic right.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-29 01:41:49 +00:00
f4a2f576d4 gas: blackfin: reject invalid 16bit acc add insns
The 16bit acc add insn cannot assign the two results to the same dreg,
so make sure gas rejects attempts to use this insn variant.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-29 01:25:13 +00:00
332bf1ed74 *** empty log message *** 2011-03-29 00:00:03 +00:00
53d402afc5 daily update 2011-03-28 23:00:07 +00:00
314a59d568 Support .quad for x32.
gas/

2011-03-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (handle_quad): New.
	(md_pseudo_table): Add "quad".

gas/testsuite/

2011-03-28  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/ilp32/inval.s: Remove .quad.
	* gas/i386/ilp32/inval.l: Updated.

	* gas/i386/ilp32/quad.d: New.
	* gas/i386/ilp32/quad.s: Likewise.
2011-03-28 22:47:59 +00:00
e462023046 gdb/testsuite/
Test STT_GNU_IFUNC support.
	* gdb.base/gnu-ifunc-lib.c: New file.
	* gdb.base/gnu-ifunc.c: New file.
	* gdb.base/gnu-ifunc.exp: New file.
2011-03-28 20:31:54 +00:00
0e30163f12 gdb/
Support resolution of STT_GNU_IFUNC via breakpoints.
	* breakpoint.c (print_it_typical): Support bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.
	(bpstat_what): Rename parameter to bs_head, new variable bs, adjust
	the loop.  Support bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.  New comment after the loop.  New loop
	for bp_gnu_ifunc_resolver and bp_gnu_ifunc_resolver_return
	breakpoints.
	(bptype_string, print_one_breakpoint_location): Support
	bp_gnu_ifunc_resolver and bp_gnu_ifunc_resolver_return.
	(user_settable_breakpoint): Return true also for
	bp_gnu_ifunc_resolver.
	(allocate_bp_location): Support bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.
	(set_breakpoint_location_function): New parameter explicit_loc,
	describe it.  Call find_pc_partial_function_gnu_ifunc with new
	variable IS_GNU_IFUNC and adjust the address for STT_GNU_IFUNC if
	EXPLICIT_LOC is not set.
	(set_raw_breakpoint): Set EXPLICIT_LOC for
	set_breakpoint_location_function.
	(clone_momentary_breakpoint): Use true for EXPLICIT_LOC of
	set_breakpoint_location_function.
	(mention): Support bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.
	(add_location_to_breakpoint): Set EXPLICIT_LOC for
	set_breakpoint_location_function.
	(update_breakpoint_locations): Remove static.
	(breakpoint_re_set_one): Support bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.
	* breakpoint.h (enum bptype): New fields bp_gnu_ifunc_resolver and
	bp_gnu_ifunc_resolver_return.
	(update_breakpoint_locations): New declaration.
	* elfread.c: Include gdbthread.h and regcache.h.
	(elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop): New
	functions.
	(elf_gnu_ifunc_fns): Install them.
	* minsyms.c (stub_gnu_ifunc_resolver_stop)
	(stub_gnu_ifunc_resolver_return_stop): New functions.
	(stub_gnu_ifunc_fns): Install them.
	* symtab.h (struct gnu_ifunc_fns): New fields gnu_ifunc_resolver_stop
	and gnu_ifunc_resolver_return_stop.
	(gnu_ifunc_resolver_stop, gnu_ifunc_resolver_return_stop): New.
2011-03-28 20:29:51 +00:00
07be84bf8f gdb/
STT_GNU_IFUNC reader implementation.
	* elfread.c: Include gdbtypes.h, value.h and infcall.h.
	(SYMBOL_GOT_PLT_SUFFIX, elf_rel_plt_read)
	(elf_objfile_gnu_ifunc_cache_data, struct elf_gnu_ifunc_cache)
	(elf_gnu_ifunc_cache_hash, elf_gnu_ifunc_cache_eq)
	(elf_gnu_ifunc_record_cache, elf_gnu_ifunc_resolve_by_cache)
	(elf_gnu_ifunc_resolve_by_got, elf_gnu_ifunc_resolve_name)
	(elf_gnu_ifunc_resolve_addr): New.
	(elf_symfile_read): Call elf_rel_plt_read.
	(elf_gnu_ifunc_fns): New.
	(_initialize_elfread): Initialize elf_objfile_gnu_ifunc_cache_data.
	Install elf_gnu_ifunc_fns.
	* infcall.c (find_function_return_type): New function.
	(find_function_addr): Resolve TYPE_GNU_IFUNC functions, if possible.
	* minsyms.c (stub_gnu_ifunc_resolve_addr)
	(stub_gnu_ifunc_resolve_name): New functions.
	(stub_gnu_ifunc_fns, gnu_ifunc_fns_p): New variables.
	* symtab.h (struct gnu_ifunc_fns, gnu_ifunc_resolve_addr)
	(gnu_ifunc_resolve_name, gnu_ifunc_fns_p): New.
2011-03-28 20:26:24 +00:00
300f8e104f gdb/
Code cleanup for later STT_GNU_IFUNC support.
	* infcall.c (find_function_addr): Remove variable code, use explicit
	dereferences for it.  Move VALUE_TYPE initialization later.
2011-03-28 20:24:05 +00:00
11c8145561 gdb/
GDB find_pc_partial_function support for STT_GNU_IFUNC.
	* blockframe.c (cache_pc_function_is_gnu_ifunc): New variable.
	(clear_pc_function_cache): Clear it.
	(find_pc_partial_function): Rename to ...
	(find_pc_partial_function_gnu_ifunc): ... this function.  New
	parameter is_gnu_ifunc_p, describe it.  Set *IS_GNU_IFUNC_P.
	(find_pc_partial_function): New wrapper for this function.
	* symtab.h (find_pc_partial_function_gnu_ifunc): New declaration.
2011-03-28 20:22:52 +00:00
0875794a96 gdb/
GDB internal type support for STT_GNU_IFUNC.
	* elfread.c (record_minimal_symbol): Support mst_text_gnu_ifunc.
	(elf_symtab_read): Set mst_text_gnu_ifunc for
	BSF_GNU_INDIRECT_FUNCTION.
	* eval.c (evaluate_subexp_standard): Support TYPE_GNU_IFUNC.
	* gdbtypes.c (init_type): Support TYPE_FLAG_GNU_IFUNC,
	builtin_func_func, nodebug_text_gnu_ifunc_symbol and
	nodebug_got_plt_symbol.
	* gdbtypes.h (enum type_flag_value): New entry TYPE_FLAG_GNU_IFUNC.
	(TYPE_GNU_IFUNC): New.
	(struct main_type): New field flag_gnu_ifunc.
	(struct builtin_type): New field builtin_func_func.
	(struct objfile_type): New fields nodebug_text_gnu_ifunc_symbol and
	nodebug_got_plt_symbol.
	* minsyms.c (lookup_minimal_symbol_text): Support mst_text_gnu_ifunc.
	(in_gnu_ifunc_stub): New.
	(prim_record_minimal_symbol, find_solib_trampoline_target): Support
	mst_text_gnu_ifunc.
	* parse.c (write_exp_msymbol): New variable ifunc_msym.  Detect and
	support mst_text_gnu_ifunc.  Support mst_slot_got_plt.
	* solib-svr4.c (svr4_in_dynsym_resolve_code): Return true also for
	in_gnu_ifunc_stub.
	* symmisc.c (dump_msymbols): Support mst_text_gnu_ifunc.
	* symtab.c (search_symbols): Likewise.
	* symtab.h (enum minimal_symbol_type): New fields mst_text_gnu_ifunc
	and mst_slot_got_plt.
	(in_gnu_ifunc_stub): New declaration.
2011-03-28 20:21:04 +00:00
d0fb5eaead gdb/
Support a ring of related breakpoints.
	* breakpoint.c (watchpoint_del_at_next_stop): New, move here code from
	other functions, add gdb_assert.
	(update_watchpoint, watchpoint_check): Add gdb_assert.  Use
	watchpoint_del_at_next_stop.
	(bpstat_check_watchpoint): Use watchpoint_del_at_next_stop.
	(bpstat_stop_status): Handle ring in related_breakpoint.
	(set_raw_breakpoint_without_location): Initialize ring in
	related_breakpoint.
	(delete_breakpoint): Handle ring in related_breakpoint, use
	watchpoint_del_at_next_stop.
	(map_breakpoint_numbers): Handle ring in related_breakpoint.

gdb/testsuite/
	Support a ring of related breakpoints.
	* gdb.base/watchpoint-delete.c: New file.
	* gdb.base/watchpoint-delete.exp: New file.
2011-03-28 20:19:02 +00:00
20106cfbdb gdb/testsuite/
* gdb.ada/arrayparam.exp (print first after function call): Use
	explicit package name.  Add a comment
	(print lasta after function call): Rename ...
	(print last after function call): ... it and use explicit package
	name.
	(print length after function call): Use explicit package name.
	* gdb.ada/str_ref_cmp.exp (operator = works for strings): New test.
	* gdb.ada/sym_print_name.exp: Change `i' to `integervar'.
	(multiple matches for symbol i): Rename ...
	(multiple matches for symbol integervar): ... it.
	* gdb.ada/sym_print_name/foo.adb (Foo): Change `I' to `IntegerVar'.
	* gdb.ada/sym_print_name/pck.ads (Pck): Likewise.
2011-03-28 20:07:12 +00:00
9cded63fc1 PR symtab/12441:
* dwarf2read.c (prepare_one_comp_unit): Don't call set_cu_language
	with `language_minimal'.
2011-03-28 19:53:14 +00:00
8786b2bd8f * gdb.texinfo (Set Tracepoints): Fix typo. 2011-03-28 18:05:39 +00:00
fbe3e2c8df * coffdump.c (coff_dump): Correct spelling error.
(show_usage): Replace SYSROFF by COFF.
2011-03-28 15:24:02 +00:00
6a608608d1 * configure.ac (i[[3456789]]86-*-msdosdjgpp*): Don't disable
libffi on host.
	(x86_64-*-mingw*, i[[3456789]]86-*-mingw32*): Don't disable newlib
	on host.
	(c54x*-*-* | tic54x-*-*): Don't disable newlib on host.
	* configure: Regenerate.
2011-03-28 13:14:27 +00:00
1a9911c3b8 * coffdump.c (dump_coff_scope): Use double typecast for pointer P
to allow compilation for all targets.
2011-03-28 11:58:18 +00:00
5b806d2793 Add support for DragonFlyBSD target. 2011-03-28 11:18:27 +00:00
f31d24a0a1 * configure.in: Check for windows.h, not Windows.h.
* configure: Regenerate.
	* plugin.c: Include windows.h, not Windows.h.
2011-03-28 10:27:07 +00:00
f8eb4131ae *** empty log message *** 2011-03-28 00:00:02 +00:00
d164a2b780 daily update 2011-03-27 23:00:06 +00:00
61ab3e4018 * archive.cc (Archive::interpret_header): Return -1 if something
goes wrong.  Change callers accordingly.
2011-03-27 17:00:56 +00:00
36aef94270 sim: bfin: handle saturation with RND12 sub insns
The current handling of the subtraction insn with the RND12 modifier
works when saturation isn't involved.  So add handling for this edge
case to match the hardware.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-27 04:03:05 +00:00
f65d3d6b99 *** empty log message *** 2011-03-27 00:00:03 +00:00
cffd7ca4e4 daily update 2011-03-26 23:00:05 +00:00
fcd1ee07d3 sim: bfin: add missing VS set with add/sub insns
The 16bit add/sub insns missed setting the VS bit in ASTAT whenever the
V bit was also set.

Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-26 06:02:41 +00:00
81723326fe *** empty log message *** 2011-03-26 00:00:32 +00:00
f4cb4830b7 daily update 2011-03-25 23:00:05 +00:00
30e1f9e6ab * testsuite/Makefile.am (final_layout.stdout): Use -n option with nm.
* testsuite/Makefile.in: Regenerate.
2011-03-25 22:58:49 +00:00
467d42c48d * arm-tdep.c (arm_elf_make_msymbol_special): Use ARM_SYM_BRANCH_TYPE
instead of checking for STT_ARM_TFUNC symbol type.
2011-03-25 21:05:23 +00:00
d0289b45c2 Regenerate Makefile.in. 2011-03-25 18:04:48 +00:00
57f3d89e8a oops - fix typo 2011-03-25 18:02:25 +00:00
767221a942 * dwarf.c (decode_location_expression): Use dwarf_vmatoa
function to display DW_OP_addr OP.
	(process_debug_info): Use dwarf_vma type for local variables
	length and type_offset.
2011-03-25 18:01:58 +00:00
49e7b35019 * dwarf.c (process_debug_info): Use offset_size to determine
the bit-size of the computation unit's offset.
2011-03-25 17:54:57 +00:00
c48d800e15 * bucomm.c (make_tempname): Stop memory leak.
ICVS: ----------------------------------------------------------------------
2011-03-25 17:51:10 +00:00
4b41844bd9 * objdump.c (dump_reloc_set): Free malloced memory. 2011-03-25 17:49:32 +00:00
1fcab1afa6 * stabs.c (parse_stab_enum_type): Fix memory leaks.
(parse_stab_struct_type): Ditto.
	(parse_stab_struct_fields): Ditto.
	(parse_stab_one_struct_field): Ditto.
	(parse_stab_members): Ditto.
	(stab_demangle_qualified): Ditto.
2011-03-25 17:46:07 +00:00
09192bc76c * prdbg.c (pr_function_type): Close memory leaks.
(pr_method_type): Likewise.
	(tg_class_static_member): Likewise.
	(tg_class_method_variant): Likewise.
	(tg_class_static_method_variant): Likewise.
2011-03-25 17:24:28 +00:00
cd37dafcf4 * ieee.c (ieee_add_bb11): Plug memory leak.
(ieee_function_type): Likewise.
	(ieee_class_baseclass): Likewise.
2011-03-25 17:22:15 +00:00
8e4850a9e3 * ar.c (write_archive): Plug memory leak. 2011-03-25 17:18:54 +00:00
a1bc0327a3 * ar.c (delete_members): Plug memory leak. 2011-03-25 17:17:03 +00:00
6a6969108e * ar.c (move_members): Plug memory leak. 2011-03-25 17:14:02 +00:00
628534583b * linespec.c (symbol_found): Restore line-based result for
non-LOC_LABEL symbols.
2011-03-25 17:13:12 +00:00