Alan Modra [Mon, 14 Feb 2011 23:00:05 +0000 (23:00 +0000)]
daily update
Pedro Alves [Mon, 14 Feb 2011 22:08:48 +0000 (22:08 +0000)]
* exec.c (section_table_available_memory): Change `len' parameter
type to ULONGEST.
* exec.h (section_table_available_memory): Ditto.
* value.h (read_value_memory): Rename the `offset' parameter to
`embedded_offset'.
Pedro Alves [Mon, 14 Feb 2011 19:20:45 +0000 (19:20 +0000)]
Add proper attribution.
Pedro Alves [Mon, 14 Feb 2011 19:19:18 +0000 (19:19 +0000)]
gdb/
* memrange.c (compare_mem_ranges): Mention sort order in
describing comment.
(normalize_mem_ranges): Add comment. Fix ra->length calculation.
* tracepoint.c (traceframe_available_memory): Extend comment to
mention what happens to RESULT when the target does not support
the query.
Mike Frysinger [Mon, 14 Feb 2011 17:12:05 +0000 (17:12 +0000)]
opcodes: blackfin: fix style
Non-functional thrashing to the GNU style.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 14 Feb 2011 17:03:45 +0000 (17:03 +0000)]
bfd/ld: handle ABI prefixes in version scripts
The default language in version scripts is supposed to be C, but no
symbol demangling is performed on the symbols by default. This makes
targets with a symbol prefix to fail with most version scripts out
there. So strip away this prefix by default.
This fixes many tests (real world and ld's testsuite) for Blackfin
targets and doesn't seem to cause regressions for x86_64.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Pedro Alves [Mon, 14 Feb 2011 12:54:42 +0000 (12:54 +0000)]
* value.c (mark_value_bytes_unavailable): Fix indexing the `bef'
range.
Pedro Alves [Mon, 14 Feb 2011 11:52:48 +0000 (11:52 +0000)]
* value.c (value_bits_valid, value_bits_synthetic_pointer):
No longer handle NULL values.
Pedro Alves [Mon, 14 Feb 2011 11:35:45 +0000 (11:35 +0000)]
gdb/
* exceptions.h (NOT_AVAILABLE_ERROR): New error.
* value.c: Include "exceptions.h".
(require_available): Throw NOT_AVAILABLE_ERROR instead of a
generic error.
* cp-abi.c: Include gdb_assert.h.
(baseclass_offset): Add `embedded_offset' and `val' parameters.
Assert the method is implemented. Wrap NOT_AVAILABLE_ERROR
errors.
* cp-abi.h (baseclass_offset): Add `embedded_offset' and `val'
parameters. No longer returns -1 on error.
(struct cp_abi_ops) <baseclass_offset>: Add `embedded_offset' and
`val' parameters.
* cp-valprint.c: Include exceptions.h.
(cp_print_value): Handle NOT_AVAILABLE_ERROR errors when fetching
the baseclass_offset. Handle unavailable base classes. Use
val_print_invalid_address.
* p-valprint.c: Include exceptions.h.
(pascal_object_print_value): Handle NOT_AVAILABLE_ERROR errors
when fetching the baseclass_offset. No longer expect
baseclass_offset returning -1. Handle unavailable base classes.
Use val_print_invalid_address.
* valops.c (dynamic_cast_check_1): Rename `contents' parameter to
`valaddr' parameter, and change its type to gdb_byte pointer. Add
`embedded_offset' and `val' parameters. Adjust.
(dynamic_cast_check_2): Rename `contents' parameter to `valaddr'
parameter, and change its type to gdb_byte pointer. Add
`embedded_offset' and `val' parameters. Adjust. No longer expect
baseclass_offset returning -1.
(value_dynamic_cast): Use value_contents_for_printing rather than
value_contents. Adjust.
(search_struct_field): No longer expect baseclass_offset returning
-1.
(search_struct_method): If reading memory from the target is
necessary, wrap it in a new value to pass to baseclass_offset. No
longer expect baseclass_offset returning -1.
(find_method_list): No longer expect baseclass_offset returning
-1. Use value_contents_for_printing rather than value_contents.
* valprint.c (val_print_invalid_address): New function.
* valprint.h (val_print_invalid_address): Declare.
* gdbtypes.c (is_unique_ancestor_worker): New `embedded_offset'
and `val' parameters. No longer expect baseclass_offset returning
-1. Adjust.
* gnu-v2-abi.c: Include "exceptions.h".
(gnuv2_baseclass_offset): Add `embedded_offset' and `val'
parameters. Handle unavailable memory. Recurse through
gnuv2_baseclass_offset directly, rather than through
baseclass_offset. No longer returns -1 on not found, instead
throw an error.
* gnu-v3-abi.c (gnuv3_baseclass_offset): Add `embedded_offset' and
`val' parameters. Adjust.
gdb/testsuite/
* gdb.trace/unavailable.cc (class Base, class Middle, class
Derived): New types.
(derived_unavail, derived_partial, derived_whole): New globals.
(virtual_partial): New global.
(virtualp): Point at virtual_partial.
* gdb.trace/unavailable.exp (gdb_collect_globals_test): Add tests
related to unavailable vptr.
Pedro Alves [Mon, 14 Feb 2011 11:34:31 +0000 (11:34 +0000)]
gdb/testuite/
* gdb.trace/unavailable.cc (a, b, c): New globals.
(main): Set and clear them.
* gdb.trace/unavailable.exp (gdb_collect_globals_test): Collect
`a' and `c', and check that `b' isn't collected, although `a' and
`c' are.
gdb/
* tracepoint.c (memrange_sortmerge): Don't merge ranges that are
almost but not quite adjacent.
Pedro Alves [Mon, 14 Feb 2011 11:33:24 +0000 (11:33 +0000)]
gdb/testsuite/
* gdb.trace/unavailable.cc (struct Virtual): New.
(virtualp): New global pointer.
* gdb.trace/unavailable.exp (gdb_collect_globals_test): Test
printing a pointer to an object whose type has a vtable, with
print object on.
gdb/
* value.h (value_entirely_available): Declare.
* value.c (value_entirely_available): New function.
* c-valprint.c (c_value_print): Don't try fetching the pointer's
real type if the pointer is unavailable.
Pedro Alves [Mon, 14 Feb 2011 11:32:17 +0000 (11:32 +0000)]
gdb/
* valops.c (value_repeat): Use read_value_memory instead of
read_memory.
gdb/testsuite/
* gdb.trace/unavailable.exp (gdb_collect_globals_test): Test that
value repeat handles unavailableness.
Pedro Alves [Mon, 14 Feb 2011 11:30:37 +0000 (11:30 +0000)]
gdb/
* value.h (value_contents_copy, value_contents_copy_raw): Declare.
* value.c (value_contents_copy_raw, value_contents_copy): New
functions.
(value_primitive_field): Use value_contents_copy_raw instead of
memcpy.
* valops.c (value_fetch_lazy): Use value_contents_copy instead of
memcpy.
(value_array, value_slice): Ditto.
* valarith.c (value_subscripted_rvalue): Use
value_contents_copy_raw instead of memcpy.
gdb/testsuite/
* gdb.trace/unavailable.exp (gdb_collect_globals_test): Add new
tests for building arrays from unavailable values, subscripting
non-memory rvalue unvailable arrays, and accessing fields or
baseclasses of non-lazy unavailable values,
* gdb.trace/unavailable.cc (small_struct, small_struct_b): New
struct types.
(g_smallstruct, g_smallstruct_b): New globals.
Pedro Alves [Mon, 14 Feb 2011 11:29:04 +0000 (11:29 +0000)]
gdb/testsuite/
* gdb.trace/unavailable.cc, gdb.trace/unavailable.exp: New files.
Pedro Alves [Mon, 14 Feb 2011 11:27:36 +0000 (11:27 +0000)]
<unavailable> references.
gdb/
* valops.c (get_value_at): Use value_from_contents_and_address,
avoiding read_memory.
Pedro Alves [Mon, 14 Feb 2011 11:26:42 +0000 (11:26 +0000)]
gdb/
* c-valprint.c (c_val_print): Print a string with unavailable
contents as an array.
Pedro Alves [Mon, 14 Feb 2011 11:25:59 +0000 (11:25 +0000)]
gdb/
* value.h (unpack_bits_as_long): Delete declaration.
(unpack_value_bits_as_long): Declare.
(unpack_value_field_as_long): Declare.
(value_field_bitfield): Declare.
* value.c (unpack_bits_as_long): Rename to...
(unpack_value_bits_as_long_1): ... this. Add embedded_offset and
value parameters. Return the extracted result in a new output
parameter. If the value contents are unavailable, return false,
otherwise return true.
(unpack_value_bits_as_long): New.
(unpack_field_as_long): Rename to...
(unpack_value_field_as_long_1): ... this. Add embedded_offset and
Add embedded_offset and value parameters. Return the extracted
result in a new output parameter. If the value contents are
unavailable, return false, otherwise return true.
(unpack_value_field_as_long): New.
(unpack_field_as_long_1): New.
(unpack_field_as_long): Reimplement as wrapper around
unpack_value_field_as_long_1.
(value_field_bitfield): New function.
* valops.c (value_fetch_lazy): When fetching a bitfield, use
unpack_value_bits_as_long. Mark the value as unavailable, if it
is unavailable.
* jv-valprint.c (java_print_value_fields): Use
value_field_bitfield.
* p-valprint.c (pascal_object_print_value_fields): Use
value_field_bitfield.
* cp-valprint.c (cp_print_value_fields): Use value_field_bitfield.
Pedro Alves [Mon, 14 Feb 2011 11:25:12 +0000 (11:25 +0000)]
* value.c (get_internalvar_integer): Also return the int value of
TYPE_CODE_INT INTERNALVAR_VALUE values.
(set_internalvar): Don't special case TYPE_CODE_INT.
Pedro Alves [Mon, 14 Feb 2011 11:24:19 +0000 (11:24 +0000)]
gdb/
* value.c (struct internalvar) <enum internalvar_kind>: Remove
INTERNALVAR_POINTER.
<pointer>: Delete.
(value_of_internalvar): Remove INTERNALVAR_POINTER handling.
(set_internalvar): Remove special TYPE_CODE_PTR handling.
(preserve_one_internalvar): Remove INTERNALVAR_POINTER handling.
Pedro Alves [Mon, 14 Feb 2011 11:23:33 +0000 (11:23 +0000)]
gdb/
* value.h (value_available_contents_eq): Declare.
* value.c (find_first_range_overlap): New function.
(value_available_contents_eq): New function.
* valprint.c (val_print_array_elements): Use
value_available_contents_eq.
* ada-valprint.c (val_print_packed_array_elements): Use
value_available_contents_eq.
* jv-valprint.c (java_value_print): Use
value_available_contents_eq.
Pedro Alves [Mon, 14 Feb 2011 11:22:29 +0000 (11:22 +0000)]
gdb/
* target.c (target_read_live_memory): New function.
(memory_xfer_live_readonly_partial): New.
(memory_xfer_partial): If reading from a traceframe, fallback to
reading unavailable read-only memory from read-only regions of
live target memory.
* tracepoint.c (disconnect_tracing): Adjust.
(set_current_traceframe): New, factored out from
set_traceframe_number.
(set_traceframe_number): Reimplement to only change the traceframe
number on the GDB side.
(do_restore_current_traceframe_cleanup): Adjust.
(make_cleanup_restore_traceframe_number): New.
(cur_traceframe_number): New global.
(tfile_open): Set cur_traceframe_number to no traceframe.
(set_tfile_traceframe): New function.
(tfile_trace_find): If looking up a traceframe using any method
other than by number, make sure the current tfile traceframe
matches gdb's current traceframe. Update the current tfile
traceframe if the lookup succeeded.
(tfile_fetch_registers, tfile_xfer_partial)
(tfile_get_trace_state_variable_value): Make sure the remote
traceframe matches gdb's current traceframe.
* remote.c (remote_traceframe_number): New global.
(remote_open_1): Set it to -1.
(set_remote_traceframe): New function.
(remote_fetch_registers, remote_store_registers)
(remote_xfer_memory, remote_xfer_partial)
(remote_get_trace_state_variable_value): Make sure the remote
traceframe matches gdb's current traceframe.
(remote_trace_find): If looking up a traceframe using any method
other than by number, make sure the current remote traceframe
matches gdb's current traceframe. Update the current remote
traceframe if the lookup succeeded.
* infrun.c (fetch_inferior_event): Adjust.
* tracepoint.h (set_current_traceframe): Declare.
(get_traceframe_number, set_traceframe_number): Add describing
comments.
Pedro Alves [Mon, 14 Feb 2011 11:21:25 +0000 (11:21 +0000)]
Mark pieces of values as unavailable if the corresponding memory
is unavailable.
gdb/
* valops.c: Include tracepoint.h.
(value_fetch_lazy): Use read_value_memory.
(read_value_memory): New.
* value.h (read_value_memory): Declare.
* dwarf2loc.c (read_pieced_value): Use read_value_memory.
* exec.c (section_table_available_memory): New function.
* exec.h (section_table_available_memory): Declare.
Pedro Alves [Mon, 14 Feb 2011 11:20:27 +0000 (11:20 +0000)]
2011-02-14 Pedro Alves <pedro@codesourcery.com>
gdb/
* Makefile.in (SFILES): Add memrange.c.
(HFILES_NO_SRCDIR): Add memrange.h.
(COMMON_OBS): Add memrange.o.
* memrange.c: New file.
* memrange.h: New file.
* tracepoint.c: Include memrange.h.
(struct mem_range): Delete.
(mem_range_s): Delete.
(traceframe_available_memory): New function.
* tracepoint.h (traceframe_available_memory): Declare.
Pedro Alves [Mon, 14 Feb 2011 11:19:26 +0000 (11:19 +0000)]
2011-02-14 Pedro Alves <pedro@codesourcery.com>
gdb/
* target.h (struct traceframe_info): Forward declare.
(enum target_object): Add TARGET_OBJECT_TRACEFRAME_INFO.
(struct target_ops) <to_traceframe_info>: New field.
(target_traceframe_info): New.
* target.c (update_current_target): Inherit and default
to_traceframe_info.
* remote.c (PACKET_qXfer_traceframe_info): New.
(remote_protocol_features): Register qXfer:traceframe-info:read.
(remote_xfer_partial): Handle TARGET_OBJECT_TRACEFRAME_INFO.
(remote_traceframe_info): New.
(init_remote_ops): Install it.
(_initialize_remote): Install "set/show remote traceframe-info"
commands.
* tracepoint.h (parse_traceframe_info): Declare.
* tracepoint.c (struct mem_range): New.
(mem_range_s): New typedef.
(struct traceframe_info): New.
(traceframe_info): New global.
(free_traceframe_info): New function.
(clear_traceframe_info): New function.
(start_tracing, tfind_1, set_traceframe_number): Clear traceframe
info.
(build_traceframe_info): New function.
(tfile_traceframe_info): New function.
(init_tfile_ops): Install tfile_traceframe_info.
(traceframe_info_start_memory, free_result): New functions.
(memory_attributes, traceframe_info_elements): New globals.
(parse_traceframe_info, get_traceframe_info): New functions.
* features/traceframe-info.dtd: New file.
* Makefile.in (XMLFILES): Add traceframe-info.dtd.
gdb/gdbserver/
* server.c (handle_qxfer_traceframe_info): New.
(qxfer_packets): Register "traceframe-info".
(handle_query): Report support for qXfer:traceframe-info:read+.
* tracepoint.c (match_blocktype): New.
(traceframe_find_block_type): Rename to ...
(traceframe_walk_blocks): ... this. Add callback filter argument,
and use it.
(traceframe_find_block_type): New, reimplemented on top of
traceframe_walk_blocks.
(build_traceframe_info_xml): New.
(traceframe_read_info): New.
* server.h (traceframe_read_info): Declare.
gdb/doc/
* gdb.texinfo (Remote Configuration): Mention set/show remote
traceframe-info.
(Tools/Packages Optional for Building GDB): Mention that expat is
used for traceframe info.
(Remote Protocol) <Menu>: Add "Traceframe Info Format".
(General Query Packets) <qSupported>: Describe the
qXfer:traceframe-info:read feature.
(qXfer::read): Describe qXfer:traceframe-info:read.
(Traceframe Info Format): New section.
Pedro Alves [Mon, 14 Feb 2011 11:13:12 +0000 (11:13 +0000)]
gdb/
* target.h (struct traceframe_info): Forward declare.
(enum target_object): Add TARGET_OBJECT_TRACEFRAME_INFO.
(struct target_ops) <to_traceframe_info>: New field.
(target_traceframe_info): New.
* target.c (update_current_target): Inherit and default
to_traceframe_info.
* remote.c (PACKET_qXfer_traceframe_info): New.
(remote_protocol_features): Register qXfer:traceframe-info:read.
(remote_xfer_partial): Handle TARGET_OBJECT_TRACEFRAME_INFO.
(remote_traceframe_info): New.
(init_remote_ops): Install it.
(_initialize_remote): Install "set/show remote traceframe-info"
commands.
* tracepoint.h (parse_traceframe_info): Declare.
* tracepoint.c (struct mem_range): New.
(mem_range_s): New typedef.
(struct traceframe_info): New.
(traceframe_info): New global.
(free_traceframe_info): New function.
(clear_traceframe_info): New function.
(start_tracing, tfind_1, set_traceframe_number): Clear traceframe
info.
(build_traceframe_info): New function.
(tfile_traceframe_info): New function.
(init_tfile_ops): Install tfile_traceframe_info.
(traceframe_info_start_memory, free_result): New functions.
(memory_attributes, traceframe_info_elements): New globals.
(parse_traceframe_info, get_traceframe_info): New functions.
* features/traceframe-info.dtd: New file.
* Makefile.in (XMLFILES): Add traceframe-info.dtd.
gdb/gdbserver/
* server.c (handle_qxfer_traceframe_info): New.
(qxfer_packets): Register "traceframe-info".
(handle_query): Report support for qXfer:traceframe-info:read+.
* tracepoint.c (match_blocktype): New.
(traceframe_find_block_type): Rename to ...
(traceframe_walk_blocks): ... this. Add callback filter argument,
and use it.
(traceframe_find_block_type): New, reimplemented on top of
traceframe_walk_blocks.
(build_traceframe_info_xml): New.
(traceframe_read_info): New.
* server.h (traceframe_read_info): Declare.
gdb/doc/
* gdb.texinfo (Remote Configuration): Mention set/show remote
traceframe-info.
(Tools/Packages Optional for Building GDB): Mention that expat is
used for traceframe info.
(Remote Protocol) <Menu>: Add "Traceframe Info Format".
(General Query Packets) <qSupported>: Describe the
qXfer:traceframe-info:read feature.
(qXfer::read): Describe qXfer:traceframe-info:read.
(Traceframe Info Format): New section.
Pedro Alves [Mon, 14 Feb 2011 11:10:53 +0000 (11:10 +0000)]
Base support for <unavailable> value contents.
gdb/
* value.h (value_bytes_available): Declare.
(mark_value_bytes_unavailable): Declare.
* value.c (struct range): New struct.
(range_s): New typedef.
(ranges_overlap): New function.
(range_lessthan): New function.
(ranges_contain_p): New function.
(struct value) <unavailable>: New field.
(value_bytes_available): New function.
(mark_value_bytes_unavailable): New function.
(require_not_optimized_out): Constify parameter.
(require_available): New function.
(value_contents_all, value_contents): Require all bytes be
available.
(value_free): Free `unavailable'.
(value_copy): Copy `unavailable'.
* valprint.h (val_print_unavailable): Declare.
* valprint.c (valprint_check_validity): Rename `offset' parameter
to `embedded_offset'. If printing a scalar, check whether the
value chunk is available.
(val_print_unavailable): New.
(val_print_scalar_formatted): Check whether the value is
available.
* python/py-prettyprint.c (apply_val_pretty_printer): Refuse
pretty-printing unavailable values.
Alan Modra [Mon, 14 Feb 2011 09:53:15 +0000 (09:53 +0000)]
* ldmain.c (remove_output): Rename to..
(ld_cleanup): ..this. Call bfd_cache_close_all and plugin_call_cleanup.
(main): Adjust.
* plugin.c (plugin_call_cleanup): Make global.
(plugin_load_plugins): Don't register plugin_call_cleanup with xatexit.
* plugin.h (plugin_call_cleanup): Declare.
Mike Frysinger [Mon, 14 Feb 2011 05:21:04 +0000 (05:21 +0000)]
opcodes: blackfin: catch invalid loopsetup insns
The LoopSetup insn is only valid when the reg field is 0-7, so
don't go decoding it incorrectly when reg is 8-15.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 14 Feb 2011 05:14:28 +0000 (05:14 +0000)]
sim: punt zfree()
The sim keeps track of which allocations are zero-ed internally (via
zalloc) and then calls a helper "zfree" function rather than "free".
But this "zfree" function simply calls "free" itself. Since I can
see no point in this and it is simply useless overhead, punt it.
The only real change is in hw-alloc.c where we remove the zalloc_p
tracking, and sim-utils.c where zfree is delete. The rest of the
changes are a simple `sed` from "zfree" to "free".
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 14 Feb 2011 04:58:12 +0000 (04:58 +0000)]
sim: change to 64bit time keeping to avoid 32bit overflows
The sim-events code jumps through some hoops to avoid using 64bit math
to manage the current time. One fundamental assumption here is that by
constantly scheduling the sim poll event a short time into the future,
the 64bit difference will always fall into a signed 32bit value. This
does work most of the time, except for when processing the sim poll event
itself.
Normally, sim_events_process() will dequeue the sim poll event, update
the current time (time_from_event) according to the next pending event,
process the sim poll event (which will then requeue the sim poll event),
and then continue on.
The problem here of course is that the current time is updated in that
small window before the sim poll event gets a chance to reschedule itself.
So if the 64bit difference between the current time and the next event
does not fit into the signed 32bit value, time_from_event overflows, and
the internal assert at the end of update_time_from_event() triggers.
Since attempts at tweaking sim_events_process() logic introduced other
subtle bugs (due to tangled assumptions between most pieces of the sim
time keeping code), change the time_from_event to a real 64bit value.
Tests on my system between a 32bit ELF and a 64bit ELF show no practical
difference (it's all lost in the system noise). Basically, I booted a
Linux kernel to userspace and then paniced it; this gave me a constant
sample size of about 18 million insns.
This was noticed when simulating Blackfin Das U-Boot. The simulated core
timer is given the max unsigned timeout value possible on a 32bit processor
(0xffffffff). This timeout value is used directly to schedule a hw event
in the sim future (the IRQ firing). Once the sim poll event is kicked off,
the next pending event is the core timer event which is more than 2^31
ticks in the future, and the sim aborts with:
sim-events.c:435: assertion failed - current_time == sim_events_time (sd)
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
gdbadmin [Mon, 14 Feb 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 13 Feb 2011 23:00:04 +0000 (23:00 +0000)]
daily update
Ralf Wildenhues [Sun, 13 Feb 2011 21:00:14 +0000 (21:00 +0000)]
Remove freebsd1 from libtool.m4 macros and config.rpath.
/:
Import from Libtool and gnulib:
2011-01-27 Gerald Pfeifer <gerald@pfeifer.com>
Prepare for supporting FreeBSD 10.
* config.rpath: Remove handling of freebsd1* which soon would
match FreeBSD 10.0.
2011-01-20 Gerald Pfeifer <gerald@pfeifer.com> (tiny change)
Remove support for FreeBSD 1.x.
* libtool.m4 (_LT_LINKER_SHLIBS)
(_LT_SYS_DYNAMIC_LINKER): Remove handling of freebsd1* which
soon would incorrectly match FreeBSD 10.0.
bfd/:
* configure: Regenerate.
gas/:
* configure: Regenerate.
ld/:
* configure: Regenerate.
opcodes/:
* configure: Regenerate.
binutils/:
* configure: Regenerate.
gprof/:
* configure: Regenerate.
Mike Frysinger [Sun, 13 Feb 2011 18:55:22 +0000 (18:55 +0000)]
opcodes: blackfin: fix decoding of ABS
The single cycle dual mac ABS insn was incorrectly decoding the mac1
part of the insn.
Once we fix the decode, update the gas tests to have the correct output.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sun, 13 Feb 2011 18:54:49 +0000 (18:54 +0000)]
opcodes: blackfin: fix decoding of dsp mult insns
When assigning to a register half, the mac0 part of the mult insn
was not decoding properly. It would always show a full dreg instead
of the dreg low half.
Once we fix the disassembler, we have to update a few of the gas
tests as their previous expected output was incorrect.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sun, 13 Feb 2011 18:53:16 +0000 (18:53 +0000)]
gas/opcodes: blackfin: punt BYTEOP2M insn support
The BYTEOP2M insn was part of the initial Blackfin designs, but never made
it into any actual silicon. So punt support for it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Jan Kratochvil [Sun, 13 Feb 2011 09:15:54 +0000 (09:15 +0000)]
gdb/
Fix const/volatile qualifiers of C++ types, PR c++/12328.
* c-typeprint.c (c_type_print_args): Update the function comment. New
variable param_type, initialize it. Remove const/volatile qualifiers
for language_cplus and !show_artificial. Use param_type.
gdb/testsuite/
Fix const/volatile qualifiers of C++ types, PR c++/12328.
* gdb.cp/overload-const.exp: New file.
* gdb.cp/overload-const.cc: New file.
Jan Kratochvil [Sun, 13 Feb 2011 09:09:36 +0000 (09:09 +0000)]
gdb/
* symtab.c (find_pc_sect_line): New variable objfile, initialize it
from S. Iterate S using ALL_OBJFILE_SYMTABS. Verify BV for each S.
* symtab.h (struct symtab) <next>: Comment extension.
gdbadmin [Sun, 13 Feb 2011 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 12 Feb 2011 23:00:05 +0000 (23:00 +0000)]
daily update
Mike Frysinger [Sat, 12 Feb 2011 19:38:11 +0000 (19:38 +0000)]
opcodes: blackfin: add missing space after PRNT insn
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sat, 12 Feb 2011 19:37:32 +0000 (19:37 +0000)]
opcodes: blackfin: drop "GP" register
There never was a "GP" register, so punt it from the decode map. It's
a hold over from a very old processor definition and never made it into
actual silicon.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sat, 12 Feb 2011 19:36:31 +0000 (19:36 +0000)]
gas/opcodes: blackfin: move dsp mac func defines to common header
The mmod field is decoded in a few places (gas/opcodes/sim), so move it to
a common place to avoid duplication.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Ralf Wildenhues [Sat, 12 Feb 2011 15:47:02 +0000 (15:47 +0000)]
Import move-if-change script from gnulib.
/:
PR binutils/12283
* MAINTAINERS (mkinstalldirs): Comes from Automake.
(move-if-change): Comes from gnulib.
* move-if-change: Import version from gnulib.
Ralf Wildenhues [Sat, 12 Feb 2011 14:40:09 +0000 (14:40 +0000)]
Sync toplevel and config/ from GCC.
/:
Sync from GCC:
2011-02-12 Alexandre Oliva <aoliva@redhat.com>
PR lto/47225
* Makefile.def (lto-plugin): Double dash for enable-shared.
(configure-gcc): Depend on all-lto-plugin.
* Makefile.in: Rebuilt.
2011-02-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure.ac: Remove extra bracket.
* configure: Regenerate.
2011-02-06 Kai Tietz <kai.tietz@onevision.com>
PR lto/47225
* Makefile.def: Add dependency for install-gcc
on install-lto-plugin.
* Makfile.in: Regenerated
2011-01-25 Jakub Jelinek <jakub@redhat.com>
* configure.ac: If with_ppl is no, move setting with_cloog=no
after CLOOG_REQUESTED check.
* configure: Regenerated.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
CLooG has been requested.
* configure: Regenerated.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* configure: Regenerated.
* configure.ac: Check for version 0.11 (or later revision) of PPL.
2011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
* configure: Regenerated.
* configure.ac: Use CLOOG_CHECK_VERSION(0,16,1).
2011-01-07 Jan Hubicka <jh@suse.cz>
PR lto/47225
* Makefile.in: Regenerate.
* Makefile.def (lto-plugin): Always pass enable-shared to the plugin
configure.
config/:
2011-01-25 Jakub Jelinek <jakub@redhat.com>
* cloog.m4 (CLOOG_REQUESTED): Use $2 if --without-cloog.
2011-01-10 Jan Hubicka <jh@suse.cz>
* bootstrap-lto.mk: -fuse-linker-plugin is default now;
pass -fno-lto to STAGEprofile.
Yao Qi [Sat, 12 Feb 2011 13:07:39 +0000 (13:07 +0000)]
2011-02-12 Yao Qi <yao@codesourcery.com>
* Makefile.in (CLEANDIRS): Remove duplicated common dir.
Sriraman Tallam [Sat, 12 Feb 2011 03:19:24 +0000 (03:19 +0000)]
2011-02-11 Sriraman Tallam <tmsriram@google.com>
* output.cc (Output_section::add_input_section): Delay fill
generation for section ordering.
Yao Qi [Sat, 12 Feb 2011 02:57:01 +0000 (02:57 +0000)]
2011-02-11 Yao Qi <yao@codesourcery.com>
* Makefile.in: Add copyright header.
gdbadmin [Sat, 12 Feb 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 11 Feb 2011 23:00:15 +0000 (23:00 +0000)]
daily update
Mike Frysinger [Fri, 11 Feb 2011 19:05:30 +0000 (19:05 +0000)]
gas: blackfin: docs: typo fixes and fill out directive info
A bunch of Blackfin-specific directives were lacking info on what they
actually do, so fill in the blanks. Further, the byte2/byte4 descriptions
were swapped.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Fri, 11 Feb 2011 19:04:33 +0000 (19:04 +0000)]
gas: blackfin: reject FP/SP with TESTSET
The TESTSET insn does not work with the FP/SP Pregs, so reject them.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Fri, 11 Feb 2011 19:03:27 +0000 (19:03 +0000)]
opcodes: blackfin: constify register names
Constify the array itself since it need not be writable.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Fri, 11 Feb 2011 17:47:54 +0000 (17:47 +0000)]
opcodes: blackfin: add multiple inclusion protection
Prevent build errors if the header happens to be included multiple times.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Pedro Alves [Fri, 11 Feb 2011 15:07:50 +0000 (15:07 +0000)]
* infrun.c (proceed): Move switching out and in of tfind mode from
here ...
(fetch_inferior_event): ... to here.
Yao Qi [Fri, 11 Feb 2011 09:57:25 +0000 (09:57 +0000)]
2011-02-11 Yao Qi <yao@codesourcery.com>
* Makefile.in: Remove signals.o from COMMON_OBS. Link
libcommon.a.
* configure.ac: Add common to sub dir.
* configure: Regenerate.
common/
2011-02-11 Yao Qi <yao@codesourcery.com>
Build libcommon.a.
* Makefile.in: New.
* configure.ac: New.
* aclocal.m4: New.
* configure: Generate.
gdbserver/
2011-02-11 Yao Qi <yao@codesourcery.com>
* configure.ac: Call AC_PROG_RANLIB.
* Makefile.in: Remove signals.o from OBS. Link libcommon.a.
* configure: Regenerate.
gdbadmin [Fri, 11 Feb 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 10 Feb 2011 23:00:04 +0000 (23:00 +0000)]
daily update
Alan Modra [Thu, 10 Feb 2011 22:50:09 +0000 (22:50 +0000)]
* doc/c-ppc.texi (PowerPC-Opts <-nops>): Clarify.
Pedro Alves [Thu, 10 Feb 2011 18:40:22 +0000 (18:40 +0000)]
Fix whitespace.
Pedro Alves [Thu, 10 Feb 2011 18:31:28 +0000 (18:31 +0000)]
* vec.h (VEC_block_remove): Place VEC_ASSERT_INFO on the right
side of the parenthesis.
Merge from GCC:
2010-07-13 Jakub Jelinek <jakub@redhat.com>
* vec.h (VEC_block_remove): Fix comment.
Kai Tietz [Thu, 10 Feb 2011 17:06:44 +0000 (17:06 +0000)]
2011-02-10 Kai Tietz <kai.tietz@onevision.com>
* gas/cfi/cfi-x86_64.d: Adjust for x64 PE+.
Alan Modra [Thu, 10 Feb 2011 12:29:23 +0000 (12:29 +0000)]
* doc/as.texinfo (Overview): Add missing markup around Blackfin
and PowerPC options.
Alan Modra [Thu, 10 Feb 2011 11:59:12 +0000 (11:59 +0000)]
* config/tc-ppc.c (md_show_usage): Remove -l and -b. Add -K PIC.
* doc/as.texinfo: Refer to and include c-ppc.texi for PowerPC options.
(Overview <Target PowerPC options>): Add a number of missing options.
* doc/c-ppc.texi: Likewise. Add markup for use in manpage generation.
Alan Modra [Thu, 10 Feb 2011 08:43:27 +0000 (08:43 +0000)]
* gas/m68k/cpu32.d: Set explicit architecture for objdump.
* gas/m68k/mcf-coproc.d: Likewise.
* gas/m68k/mcf-wdebug.d: Likewise.
Alan Modra [Thu, 10 Feb 2011 08:35:26 +0000 (08:35 +0000)]
remove accidental SANE_EXPR change
Alan Modra [Thu, 10 Feb 2011 08:18:58 +0000 (08:18 +0000)]
* scripttempl/armbpabi.sc: Revert 2010-11-02 H.J. Lu.
* scripttempl/avr.sc: Likewise.
* scripttempl/elf32cr16.sc: Likewise.
* scripttempl/elf32crx.sc: Likewise.
* scripttempl/elf32msp430.sc: Likewise.
* scripttempl/elf32msp430_3.sc: Likewise.
* scripttempl/elf32sh-symbian.sc: Likewise.
* scripttempl/elf64hppa.sc: Likewise.
* scripttempl/elf_chaos.sc: Likewise.
* scripttempl/elfd10v.sc: Likewise.
* scripttempl/elfd30v.sc: Likewise.
* scripttempl/elfi370.sc: Likewise.
* scripttempl/elfm68hc11.sc: Likewise.
* scripttempl/elfm68hc12.sc: Likewise.
* scripttempl/elfxtensa.sc: Likewise.
* scripttempl/ip2k.sc: Likewise.
* scripttempl/iq2000.sc: Likewise.
* scripttempl/mep.sc: Likewise.
* scripttempl/mmo.sc: Likewise.
* scripttempl/v850.sc: Likewise.
* scripttempl/xstormy16.sc: Likewise.
* scripttempl/elf.sc: Revert 2010-10-29 H.J. Lu.
Alan Modra [Thu, 10 Feb 2011 08:04:22 +0000 (08:04 +0000)]
* ld-scripts/defined.exp: Don't run defined5 for AOUT.
* ld-scripts/defined5.s: Use .text for "defined" section.
* ld-scripts/defined5.t: Adjust.
Alan Modra [Thu, 10 Feb 2011 07:24:06 +0000 (07:24 +0000)]
* ld-gc/start.d: Exclude frv-*-linux*.
* ld-misc/defsym1.d: Likewise.
Alan Modra [Thu, 10 Feb 2011 05:06:19 +0000 (05:06 +0000)]
* gas/elf/dwarf2-4.s: Don't use @.
Ian Lance Taylor [Thu, 10 Feb 2011 01:12:37 +0000 (01:12 +0000)]
PR gold/12316
* object.h (class Sized_relobj): Remove clear_local_symbols.
* reloc.cc (Sized_relobj::do_relocate): Don't call
clear_local_symbols.
gdbadmin [Thu, 10 Feb 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 9 Feb 2011 23:00:04 +0000 (23:00 +0000)]
daily update
Michael Snyder [Wed, 9 Feb 2011 18:43:41 +0000 (18:43 +0000)]
2011-02-09 Michael Snyder <msnyder@vmware.com>
* i386-dis.c (OP_J): Parenthesize expression to prevent
truncated addresses.
(print_insn): Fix indentation off-by-one.
Alan Modra [Wed, 9 Feb 2011 08:18:54 +0000 (08:18 +0000)]
* ld-elfvsb/elfvsb.exp: Don't run any non-PIC tests on powerpc*-linux.
* ld-gc/gc.exp: Ensure powerpc64 test continues to fail.
* ld-srec/srec.exp: Don't edit toc on powerpc64.
Alan Modra [Wed, 9 Feb 2011 08:16:00 +0000 (08:16 +0000)]
* elf64-ppc.c (ppc64_elf_edit_toc): Don't free toc relocs until
we are done. When optimising large toc, check that a global
symbol on a toc reloc is defined in a kept section.
gdbadmin [Wed, 9 Feb 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 8 Feb 2011 23:00:06 +0000 (23:00 +0000)]
daily update
Michael Snyder [Tue, 8 Feb 2011 22:35:57 +0000 (22:35 +0000)]
2011-02-08 Michael Snyder <msnyder@vmware.com>
* linux-nat.c (linux_nat_filter_event): Fix typo in comment.
H.J. Lu [Tue, 8 Feb 2011 20:21:26 +0000 (20:21 +0000)]
Use f32_patt in i386_align_code when tuning for i686.
gas/
2011-02-08 H.J. Lu <hongjiu.lu@intel.com>
PR gas/6957
* config/tc-i386.c (i386_align_code): Use f32_patt when tuning
for i686.
gas/testsuite/
2011-02-08 H.J. Lu <hongjiu.lu@intel.com>
PR gas/6957
* gas/i386/nops-1-i686.d: Updated.
* gas/i386/nops-3-i686.d: Likewise.
* gas/i386/nops-4-i686.d: Likewise.
H.J. Lu [Tue, 8 Feb 2011 18:12:25 +0000 (18:12 +0000)]
Also update cpu_arch_isa_flags for ISA extensions.
gas/
2011-02-08 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (set_cpu_arch): Also update cpu_arch_isa_flags
for ISA extensions.
(md_parse_option): Likewise.
gas/testsuite/
2011-02-08 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run nops-4a-i686 and nops-6.
* gas/i386/nops-4a-i686.d: New.
* gas/i386/nops-6.d: Likewise.
* gas/i386/nops-6.s: Likewise.
Jan Kratochvil [Tue, 8 Feb 2011 14:01:47 +0000 (14:01 +0000)]
gdb/
* i386-tdep.c (i386_process_record): Rename l suffixes to d suffixes
in comments for pcmpgtd, pcmpeqd, psubd, paddd, pcmpgtd, pcmpeqd,
psubd and paddd.
Jan Kratochvil [Tue, 8 Feb 2011 13:58:02 +0000 (13:58 +0000)]
gdb/
PR 12361.
* i386-tdep.c (i386_process_record) <0x660f3807>: Fix the comment to
phsubsw.
(i386_process_record) <lddqu>: Fix the opcode to 0xf20ff0.
(i386_process_record) <0x0f3807>: Fix the comment to phsubsw.
Ulrich Weigand [Tue, 8 Feb 2011 13:30:10 +0000 (13:30 +0000)]
include/ChangeLog:
* dwarf2.h (enum dwarf_calling_convention): Add DW_CC_GDB_IBM_OpenCL.
gdb/ChangeLog:
* dwarf2read.c (read_subroutine_type): Set special calling
convention flag for functions compiled by IBM XL C for OpenCL.
* ppc-sysv-tdep.c: Include "dwarf2.h"
(ppc_sysv_abi_push_dummy_call): Implement IBM OpenCL vector types
calling convention.
(do_ppc_sysv_return_value): Add FUNC_TYPE argument. Implement
IBM OpenCL vector types calling convention.
(ppc_sysv_abi_return_value): Pass through FUNC_TYPE.
(ppc_sysv_abi_broken_return_value): Likewise.
(ppc64_sysv_abi_push_dummy_call): Implement IBM OpenCL vector
types calling convention.
(ppc64_sysv_abi_return_value): Likewise.
* spu-tdep.c: Include "dwarf2.h"
(spu_return_value): Implement IBM OpenCL vector types calling
convention.
gdb/testsuite/ChangeLog:
* gdb.opencl/callfuncs.cl: New file.
* gdb.opencl/callfuncs.exp: New test.
* gdb.opencl/Makefile.in (EXECUTABLES): Add callfuncs.
Ulrich Weigand [Tue, 8 Feb 2011 13:25:01 +0000 (13:25 +0000)]
ChangeLog:
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Implement
correct ABI for AltiVec vector arguments.
testsuite/ChangeLog:
* gdb.arch/altivec-abi.c (vec_func): Make use of intv_on_stack_f
when computing result.
* gdb.arch/altivec-abi.exp: Update expected results.
Nick Clifton [Tue, 8 Feb 2011 09:40:05 +0000 (09:40 +0000)]
PR binutils/12467
* readelf.c (process_program_headers): Issue a warning if there
are no program headers but the file header has a non-zero program
header offset.
(process_section_headers): Issue a warning if there are no section
headers but the file header has a non-zero section header offset.
(process_section_groups): Reword the no section message so that it
can be distinguished from the one issued by process_section_headers.
* elf.c (assign_file_positions_for_load_sections): Set the program
header offset and entry size to zero if there are no program
headers.
Rafael Ávila de Espíndola [Tue, 8 Feb 2011 05:03:19 +0000 (05:03 +0000)]
2010-02-08 Rafael Ávila de Espíndola <respindola@mozilla.com>
* plugin.cc (is_visible_from_outside): Return true for symbols
in the -u option.
Alan Modra [Tue, 8 Feb 2011 02:54:42 +0000 (02:54 +0000)]
* elf64-ppc.c (ppc64_elf_edit_toc): Don't segfault on NULL
local_syms when looking for local symbols in .toc.
gdbadmin [Tue, 8 Feb 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 7 Feb 2011 23:00:05 +0000 (23:00 +0000)]
daily update
Pedro Alves [Mon, 7 Feb 2011 17:49:32 +0000 (17:49 +0000)]
* valprint.c (val_print): Extend comment.
* ada-valprint.c (ada_valprint): Rewrite comment deferring
interface explanation to val_print.
(ada_val_print_array): Adjust comment to current interface.
(print_field_values): Adjust comment to current interface.
* c-valprint.c (c_val_print): Rewrite comment deferring interface
explanation to val_print.
* f-valprint.c (f_val_print): Ditto.
* jv-valprint.c (java_val_print): Ditto.
* m2-valprint.c (m2_val_print): Ditto.
* p-valprint.c (pascal_val_print): Ditto.
Thiago Jung Bauermann [Mon, 7 Feb 2011 13:35:42 +0000 (13:35 +0000)]
* gdb.base/break-interp.exp: Remove ${objdir} from test messages.
* gdb.base/jit.exp: Likewise.
* gdb.base/pie-execl.exp: Likewise.
* gdb.base/solib-nodir.exp: Likewise.
* gdb.base/solib-overlap.exp: Likewise.
Thiago Jung Bauermann [Mon, 7 Feb 2011 13:30:33 +0000 (13:30 +0000)]
* breakpoint.c (parse_breakpoint_sals): Fix description.
Pedro Alves [Mon, 7 Feb 2011 12:14:14 +0000 (12:14 +0000)]
gdb/server/
* server.c (gdb_read_memory): Change return semantics to allow
partial transfers.
(handle_search_memory_1): Adjust.
(process_serial_event) <'m' packet>: Handle partial transfers.
* tracepoint.c (traceframe_read_mem): Handle partial transfers.
gdb/testsuite/
* gdb.trace/collection.c (global_pieces): New.
* gdb.trace/collection.exp (gdb_collect_global_in_pieces_test):
New procedure.
(gdb_trace_collection_test): Call it.
Alan Modra [Mon, 7 Feb 2011 00:04:09 +0000 (00:04 +0000)]
PR gas/3041
* gas/m68k/p3041pcrel.s, * gas/m68k/p3041pcrel.d: New test.
* gas/m68k/all.exp: Add "p3041pcrel" and enable p3041 tests for
all m68k-aout targets.
gdbadmin [Mon, 7 Feb 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 6 Feb 2011 23:38:38 +0000 (23:38 +0000)]
PR gprof/12468
* corefile.c (core_create_function_syms): Set is_func for targets
that have no BSF_FUNCTION syms.
Alan Modra [Sun, 6 Feb 2011 23:00:04 +0000 (23:00 +0000)]
daily update
gdbadmin [Sun, 6 Feb 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 5 Feb 2011 23:00:29 +0000 (23:00 +0000)]
daily update