* target-descriptions.c (tdesc_predefined_types): New.
(tdesc_named_type): Use it.
(tdesc_type_id, maint_print_c_tdesc_cmd): New functions.
(_intialize_target_descriptions): Register "maint print c-tdesc".
* features/Makefile (XMLTOC, CFILES, GDB): New macros.
(cfiles, %.c): New rules.
* features/arm-with-iwmmxt.c, features/mips-linux.c,
features/mips64-linux.c: New generated files.
* arm-linux-nat.c: Include preparsed description instead of
"xml-support.h".
(super_xfer_partial, arm_linux_xfer_partial): Remove.
(arm_linux_read_description): New function.
(_initialize_arm_linux_nat): Set to_read_description instead of
to_xfer_partial. Initialize preparsed description.
* config/arm/linux.mh (TDEP_XML): Delete.
* mips-linux-nat.c: Include preparsed descriptions instead of
"xml-support.h".
(super_xfer_partial, mips_linux_xfer_partial): Remove.
(mips_linux_read_description): New function.
(_initialize_mips_linux_nat): Set to_read_description instead of
to_xfer_partial. Initialize preparsed description.
* config/mips/linux.mh (TDEP_XML): Delete.
* Makefile.in (XMLFILES): Remove $(TDEP_XML).
(features_headers, arm_with_iwmmxt_c, mips_linux_c)
(mips64_linux_c): New macros.
(arm-linux-nat.o, mips-linux-nat.o): Update.
* gdb.texinfo (Maintenance Commands): Document "maint print c-tdesc".
2007-10-15 19:19:18 +00:00
|
|
|
/* THIS FILE IS GENERATED. Original: arm-with-iwmmxt.xml */
|
|
|
|
|
|
|
|
#include "defs.h"
|
|
|
|
#include "gdbtypes.h"
|
|
|
|
#include "target-descriptions.h"
|
|
|
|
|
|
|
|
struct target_desc *tdesc_arm_with_iwmmxt;
|
|
|
|
static void
|
|
|
|
initialize_tdesc_arm_with_iwmmxt (void)
|
|
|
|
{
|
|
|
|
struct target_desc *result = allocate_target_description ();
|
|
|
|
struct tdesc_feature *feature;
|
|
|
|
struct type *field_type, *type;
|
|
|
|
|
|
|
|
set_tdesc_architecture (result, bfd_scan_arch ("iwmmxt"));
|
|
|
|
|
|
|
|
feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
|
|
|
|
tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
|
|
|
|
tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
|
|
|
|
tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
|
|
|
|
tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
|
|
|
|
|
|
|
|
feature = tdesc_create_feature (result, "org.gnu.gdb.xscale.iwmmxt");
|
|
|
|
field_type = tdesc_named_type (feature, "uint8");
|
|
|
|
type = init_vector_type (field_type, 8);
|
|
|
|
TYPE_NAME (type) = xstrdup ("iwmmxt_v8u8");
|
|
|
|
tdesc_record_type (feature, type);
|
|
|
|
|
|
|
|
field_type = tdesc_named_type (feature, "uint16");
|
|
|
|
type = init_vector_type (field_type, 4);
|
|
|
|
TYPE_NAME (type) = xstrdup ("iwmmxt_v4u16");
|
|
|
|
tdesc_record_type (feature, type);
|
|
|
|
|
|
|
|
field_type = tdesc_named_type (feature, "uint32");
|
|
|
|
type = init_vector_type (field_type, 2);
|
|
|
|
TYPE_NAME (type) = xstrdup ("iwmmxt_v2u32");
|
|
|
|
tdesc_record_type (feature, type);
|
|
|
|
|
|
|
|
type = init_composite_type (NULL, TYPE_CODE_UNION);
|
|
|
|
TYPE_NAME (type) = xstrdup ("iwmmxt_vec64i");
|
|
|
|
field_type = tdesc_named_type (feature, "iwmmxt_v8u8");
|
|
|
|
append_composite_type_field (type, xstrdup ("u8"), field_type);
|
|
|
|
field_type = tdesc_named_type (feature, "iwmmxt_v4u16");
|
|
|
|
append_composite_type_field (type, xstrdup ("u16"), field_type);
|
|
|
|
field_type = tdesc_named_type (feature, "iwmmxt_v2u32");
|
|
|
|
append_composite_type_field (type, xstrdup ("u32"), field_type);
|
|
|
|
field_type = tdesc_named_type (feature, "uint64");
|
|
|
|
append_composite_type_field (type, xstrdup ("u64"), field_type);
|
gdb:
* xml-tdesc.c (tdesc_end_union): Update.
* stabsread.c (define_symbol): Update.
(read_type): Update.
(read_struct_type): Update.
(read_enum_type): Update.
* spu-tdep.c (spu_builtin_type_vec128): Update.
* sh-tdep.c (sh_push_dummy_call_fpu): Update.
(sh_push_dummy_call_nofpu): Update.
* mdebugread.c (parse_symbol): Update.
(parse_symbol): Update.
(parse_symbol): Update.
(upgrade_type): Update.
* jv-lang.c (java_lookup_class): Update.
* iq2000-tdep.c (iq2000_pointer_to_address): Update.
* i386-tdep.c (i386_mmx_type): Update.
(i386_sse_type): Update.
* gdbtypes.h (enum type_flag_value): New enum.
(enum type_instance_flag_value): New enum.
(TYPE_FLAG_UNSIGNED, TYPE_FLAG_NOSIGN, TYPE_FLAG_STUB,
TYPE_FLAG_TARGET_STUB, TYPE_FLAG_STATIC, TYPE_FLAG_PROTOTYPED,
TYPE_FLAG_INCOMPLETE, TYPE_FLAG_VARARGS, TYPE_FLAG_VECTOR,
TYPE_FLAG_FIXED_INSTANCE, TYPE_FLAG_STUB_SUPPORTED,
TYPE_FLAG_NOTTEXT): Now enum constants.
(TYPE_FLAG_CONST, TYPE_FLAG_VOLATILE, TYPE_FLAG_CODE_SPACE,
TYPE_FLAG_DATA_SPACE, TYPE_FLAG_ADDRESS_CLASS_1,
TYPE_FLAG_ADDRESS_CLASS_2): Remove.
(TYPE_INSTANCE_FLAG_CONST, TYPE_INSTANCE_FLAG_VOLATILE,
TYPE_INSTANCE_FLAG_CODE_SPACE, TYPE_INSTANCE_FLAG_DATA_SPACE,
TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1,
TYPE_INSTANCE_FLAG_ADDRESS_CLASS_2): New constants.
(TYPE_UNSIGNED, TYPE_NOSIGN, TYPE_STUB, TYPE_TARGET_STUB,
TYPE_STATIC, TYPE_PROTOTYPED, TYPE_INCOMPLETE, TYPE_VARARGS,
TYPE_VECTOR, TYPE_FIXED_INSTANCE, TYPE_STUB_SUPPORTED,
TYPE_NOTTEXT): Update.
(TYPE_FLAG_ADDRESS_CLASS_ALL): Remove.
(TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL): New define.
(TYPE_VOLATILE, TYPE_CODE_SPACE, TYPE_DATA_SPACE,
TYPE_ADDRESS_CLASS_1, TYPE_ADDRESS_CLASS_2,
TYPE_ADDRESS_CLASS_ALL): Update.
(struct main_type) <flags>: Remove.
<flag_unsigned, flag_nosign, flag_stub, flag_target_stub,
flag_static, flag_prototyped, flag_incomplete, flag_varargs,
flag_vector, flag_stub_supported, flag_nottext,
flag_fixed_instance>: New fields.
<nfields, vptr_fieldno>: Move earlier.
(TYPE_FLAGS): Remove.
* gdbtypes.c (make_pointer_type): Update.
(address_space_name_to_int): Update.
(address_space_int_to_name): Update.
(make_type_with_address_space): Update.
(make_cv_type): Update.
(create_range_type): Update.
(get_discrete_bounds): Update.
(create_set_type): Update.
(make_vector_type): Update.
(smash_to_method_type): Update.
(check_typedef): Update.
(check_stub_method): Update.
(init_type): Individually assign flag fields.
(recursive_dump_type): Don't print entire TYPE_FLAGS field. Do
print TYPE_FIXED_INSTANCE, TYPE_STUB_SUPPORTED, and TYPE_NOTTEXT.
(copy_type_recursive): Copy the entire main type. Don't use
TYPE_FLAGS.
* features/rs6000/powerpc-altivec64l.c
(initialize_tdesc_powerpc_altivec64l): Update.
* features/rs6000/powerpc-altivec64.c
(initialize_tdesc_powerpc_altivec64): Update.
* features/rs6000/powerpc-altivec32l.c
(initialize_tdesc_powerpc_altivec32l): Update.
* features/rs6000/powerpc-altivec32.c
(initialize_tdesc_powerpc_altivec32): Update.
* features/rs6000/powerpc-7400.c (initialize_tdesc_powerpc_7400):
Update.
* features/arm-with-iwmmxt.c (initialize_tdesc_arm_with_iwmmxt):
Update.
* dwarf2read.c (read_structure_type): Update.
(read_enumeration_type): Likewise.
(process_enumeration_scope): Likewise.
(read_tag_pointer_type): Likewise.
(read_subroutine_type): Likewise.
(read_subroutine_type): Likewise.
(read_base_type): Likewise.
* coffread.c (coff_read_enum_type): Update.
* ada-valprint.c (adjust_type_signedness): Update.
* ada-typeprint.c (print_record_field_types): Update.
* ada-lang.c (packed_array_type): Update.
(empty_record): Don't reset TYPE_FLAGS.
(ada_template_to_fixed_record_type_1): Update.
(ada_template_to_fixed_record_type_1): Likewise.
(template_to_static_fixed_type): Likewise.
(to_record_with_fixed_variant_part): Likewise.
(to_fixed_record_type): Likewise.
(to_fixed_array_type): Likewise.
(to_static_fixed_type): Likewise.
gdb/testsuite:
* gdb.base/maint.exp: Update "maint print type".
2008-08-24 16:39:57 +00:00
|
|
|
TYPE_VECTOR (type) = 1;
|
* target-descriptions.c (tdesc_predefined_types): New.
(tdesc_named_type): Use it.
(tdesc_type_id, maint_print_c_tdesc_cmd): New functions.
(_intialize_target_descriptions): Register "maint print c-tdesc".
* features/Makefile (XMLTOC, CFILES, GDB): New macros.
(cfiles, %.c): New rules.
* features/arm-with-iwmmxt.c, features/mips-linux.c,
features/mips64-linux.c: New generated files.
* arm-linux-nat.c: Include preparsed description instead of
"xml-support.h".
(super_xfer_partial, arm_linux_xfer_partial): Remove.
(arm_linux_read_description): New function.
(_initialize_arm_linux_nat): Set to_read_description instead of
to_xfer_partial. Initialize preparsed description.
* config/arm/linux.mh (TDEP_XML): Delete.
* mips-linux-nat.c: Include preparsed descriptions instead of
"xml-support.h".
(super_xfer_partial, mips_linux_xfer_partial): Remove.
(mips_linux_read_description): New function.
(_initialize_mips_linux_nat): Set to_read_description instead of
to_xfer_partial. Initialize preparsed description.
* config/mips/linux.mh (TDEP_XML): Delete.
* Makefile.in (XMLFILES): Remove $(TDEP_XML).
(features_headers, arm_with_iwmmxt_c, mips_linux_c)
(mips64_linux_c): New macros.
(arm-linux-nat.o, mips-linux-nat.o): Update.
* gdb.texinfo (Maintenance Commands): Document "maint print c-tdesc".
2007-10-15 19:19:18 +00:00
|
|
|
tdesc_record_type (feature, type);
|
|
|
|
|
|
|
|
tdesc_create_reg (feature, "wR0", 26, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR1", 27, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR2", 28, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR3", 29, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR4", 30, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR5", 31, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR6", 32, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR7", 33, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR8", 34, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR9", 35, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR10", 36, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR11", 37, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR12", 38, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR13", 39, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR14", 40, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wR15", 41, 1, NULL, 64, "iwmmxt_vec64i");
|
|
|
|
tdesc_create_reg (feature, "wCSSF", 42, 1, "vector", 32, "int");
|
|
|
|
tdesc_create_reg (feature, "wCASF", 43, 1, "vector", 32, "int");
|
|
|
|
tdesc_create_reg (feature, "wCGR0", 44, 1, "vector", 32, "int");
|
|
|
|
tdesc_create_reg (feature, "wCGR1", 45, 1, "vector", 32, "int");
|
|
|
|
tdesc_create_reg (feature, "wCGR2", 46, 1, "vector", 32, "int");
|
|
|
|
tdesc_create_reg (feature, "wCGR3", 47, 1, "vector", 32, "int");
|
|
|
|
|
|
|
|
tdesc_arm_with_iwmmxt = result;
|
|
|
|
}
|