Initial support for Blackfin processors. This supports the standard ABI.
Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Trying to print a variable defined as an access to an unconstrained
array:
type String_Access is access String;
S1 : String_Access;
If that variable is null, then GDB prints its value in an odd way:
(gdb) print S1
$1 = (string_bug.string_access) (null)
^^^^^^
This patch changes the debugger behavior to print the pointer using
the same output we'd use for any null pointer:
(gdb) print S1
$1 = (string_bug.string_access) 0x0
It also adds an assert, helping us verify an assumption.
gdb/ChangeLog:
* ada-valprint.c (ada_val_print_1): Print null array pointers as
`0x0' rather than `(null)'. Add assertion.
gdb/testsuite/ChangeLog:
* gdb.ada/arrayptr/foo.adb: Add new local variable Null_String.
* gdb.ada/arrayptr.exp: Add test printing that new variable.
This patch enhances the debugger to distinguish between fat pointers
that represent either: array types, or array access types. In the latter
case, the object/type is encoded as a typedef type pointing to the fat
pointer.
The first part of the change is to adjust ada_check_typedef to avoid
stripping the typedef layer when it points to a fat pointer. The rest
of the patch is adjustments required in various places to deal with
the fact that the type is uses might now be a typedef.
gdb/ChangeLog:
* ada-lang.h (ada_coerce_to_simple_array): Add declaration.
* ada-lang.c (ada_typedef_target_type): New function.
(desc_base_type): Add handling of fat pointer typedefs.
(ada_coerce_to_simple_array): Make non-static.
(decode_packed_array_bitsize): Add handling of fat pointer typedefs.
Add assertion.
(ada_template_to_fixed_record_type_1, ada_to_fixed_type)
(ada_check_typedef): Add handling of fat pointer typedefs.
(ada_evaluate_subexp) [OP_FUNCALL]: Likewise.
* ada-typeprint.c (ada_print_type): Add handling of fat pointer
typedefs.
* ada-valprint.c (ada_val_print_1): Convert fat pointers that are not
array accesses to simple arrays rather than simple array pointers.
(ada_value_print): In the case of array descriptors, do not print
the value type description unless it is an array access.
gdb/testsuite/ChangeLog:
* gdb.ada/lang_switch.exp: Correct expected parameter value.
gdb/doc/ChangeLog:
* gdb.texinfo (Ada Glitches): Remove paragraph describing the
occasional case where the debugger prints an array address
instead of the array itself.
We have malloc (uninitialized buffer), zalloc (zeroed buffer), and
nzalloc (zeroed array). But we don't have a way to allocate an
uninitialized array. Add a HW_NALLOC to fill this gap.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
The HW_NZALLOC macro has all caps args for some reason (unlike the other
alloc helpers), and ends up not using the "ME" argument since its copy
and paste source uses "me". Make all the args lowercase to match the
style of all the other args and make it use the correct "me".
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This target_ops routine appears to be unused in practice, so this patch
removes it.
gdb/ChangeLog:
* inf-child.c (inf_child_acknowledge_created_inferior): Delete.
(inf_child_target): Do not set t->to_acknowledge_created_inferior.
* inf-ptrace.c (inf_ptrace_create_inferior): Remove call to
target_acknowledge_created_inferior.
* inf-ttrace.c (inf_ttrace_him): Likewise.
* target.h (struct target_ops): Delete to_acknowledge_created_inferior
field.
(target_acknowledge_created_inferior): Delete.
* target.c (update_current_target): Remove setting of
to_acknowledge_created_inferior field. Do default value for that
field either.
(debug_to_acknowledge_created_inferior): Delete.
(setup_target_debug): Remove setting of
current_target.to_acknowledge_created_inferior.
* breakpoint.c (breakpoint_restore_shadows): When looking for the
location with the lowest address that overlaps the memory range we
want to restore shadows for, account for multiple locations at the
same address.
* config/tc-hppa.c (pa_ip): Set doubleword carry/borrow bit when a
doubleword completer or doubleword condition is found in an add/sub
instruction. Reject match for 'A'/'S' only if there is no condition
and d bit is not set.
* gas/hppa/basic/add2.s: Add test for a simple doubleword carry
instruction.
* gas/hppa/basic/sub2.s: Add tests for simple word and doubleword
borrow instructions.
* gas/hppa/basic/basic.exp: Update regexps for above.
* opcode/hppa.h: Clear "d" bit in "add" and "sub" patterns.
(bfd_get_full_section_contents): Do not decompress directly into
caller buffer or directly return cached section contents.
Check malloc return for compressed_buffer.