From 6eb1e6a8c1c83d0fb5b06192d1ec218d3a358f23 Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Wed, 26 Jul 2017 12:56:54 +0100 Subject: Use visitor pattern for "maint print c-tdesc" Target description can be modeled as a tree, the target description is the root node, features are children nodes, registers and types are grand-children nodes. So command "maint print c-tdesc" in effect traverse/visit each node, and print them in c. This can be implemented by visitor pattern, this is the first reason. Secondly, I want to this command prints c files in a different way for some specific xml files, but still print c files the same way for the rest of xml files. Third, I even want to print xml files from target descriptions, so that GDBserver can use it to reply GDB's query qXfer:features:read:target.xml. gdb: 2017-07-26 Yao Qi * target-descriptions.c (tdesc_element_visitor): New class. (tdesc_element): New class. (tdesc_reg): Inherit from tdesc_element. (tdesc_reg::accept): New function. (tdesc_type): Inherit from tdesc_element. (tdesc_type::accept): New function. (tdesc_feature): Inherit from tdesc_element. (tdesc_feature::accept): New function. (target_desc): Inherit from tdesc_element. (target_desc::target_desc): New. (target_desc::~target_desc): New. (target_desc::accept): New. (allocate_target_description): Use new. (free_target_description): Use delete. (print_c_tdesc): New class. (maint_print_c_tdesc_cmd): Adjust. * features/aarch64.c: Re-generated. * features/arc-arcompact.c: Re-generated. * features/arc-v2.c: Re-generated. * features/arm/arm-with-iwmmxt.c: Re-generated. * features/arm/arm-with-m.c: Re-generated. * features/arm/arm-with-m-fpa-layout.c: Re-generated. * features/arm/arm-with-m-vfp-d16.c: Re-generated. * features/arm/arm-with-neon.c: Re-generated. * features/arm/arm-with-vfpv2.c: Re-generated. * features/arm/arm-with-vfpv3.c: Re-generated. * features/i386/amd64-avx-avx512.c: Re-generated. * features/i386/amd64-avx-avx512-linux.c: Re-generated. * features/i386/amd64-avx.c: Re-generated. * features/i386/amd64-avx-linux.c: Re-generated. * features/i386/amd64-avx-mpx-avx512-pku.c: Re-generated. * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated. * features/i386/amd64-avx-mpx.c: Re-generated. * features/i386/amd64-avx-mpx-linux.c: Re-generated. * features/i386/amd64.c: Re-generated. * features/i386/amd64-linux.c: Re-generated. * features/i386/amd64-mpx.c: Re-generated. * features/i386/amd64-mpx-linux.c: Re-generated. * features/i386/i386-avx-avx512.c: Re-generated. * features/i386/i386-avx-avx512-linux.c: Re-generated. * features/i386/i386-avx.c: Re-generated. * features/i386/i386-avx-linux.c: Re-generated. * features/i386/i386-avx-mpx-avx512-pku.c: Re-generated. * features/i386/i386-avx-mpx-avx512-pku-linux.c: Re-generated. * features/i386/i386-avx-mpx.c: Re-generated. * features/i386/i386-avx-mpx-linux.c: Re-generated. * features/i386/i386.c: Re-generated. * features/i386/i386-linux.c: Re-generated. * features/i386/i386-mmx.c: Re-generated. * features/i386/i386-mmx-linux.c: Re-generated. * features/i386/i386-mpx.c: Re-generated. * features/i386/i386-mpx-linux.c: Re-generated. * features/i386/x32-avx-avx512.c: Re-generated. * features/i386/x32-avx-avx512-linux.c: Re-generated. * features/i386/x32-avx.c: Re-generated. * features/i386/x32-avx-linux.c: Re-generated. * features/i386/x32.c: Re-generated. * features/i386/x32-linux.c: Re-generated. * features/microblaze.c: Re-generated. * features/microblaze-with-stack-protect.c: Re-generated. * features/mips64-dsp-linux.c: Re-generated. * features/mips64-linux.c: Re-generated. * features/mips-dsp-linux.c: Re-generated. * features/mips-linux.c: Re-generated. * features/nds32.c: Re-generated. * features/nios2.c: Re-generated. * features/nios2-linux.c: Re-generated. * features/rs6000/powerpc-32.c: Re-generated. * features/rs6000/powerpc-32l.c: Re-generated. * features/rs6000/powerpc-403.c: Re-generated. * features/rs6000/powerpc-403gc.c : Re-generated. * features/rs6000/powerpc-405.c: Re-generated. * features/rs6000/powerpc-505.c: Re-generated. * features/rs6000/powerpc-601.c: Re-generated. * features/rs6000/powerpc-602.c: Re-generated. * features/rs6000/powerpc-603.c: Re-generated. * features/rs6000/powerpc-604.c: Re-generated. * features/rs6000/powerpc-64.c: Re-generated. * features/rs6000/powerpc-64l.c: Re-generated. * features/rs6000/powerpc-7400.c: Re-generated. * features/rs6000/powerpc-750.c: Re-generated. * features/rs6000/powerpc-860.c: Re-generated. * features/rs6000/powerpc-altivec32.c: Re-generated. * features/rs6000/powerpc-altivec32l.c: Re-generated. * features/rs6000/powerpc-altivec64.c: Re-generated. * features/rs6000/powerpc-altivec64l.c: Re-generated. * features/rs6000/powerpc-cell32l.c: Re-generated. * features/rs6000/powerpc-cell64l.c: Re-generated. * features/rs6000/powerpc-e500.c: Re-generated. * features/rs6000/powerpc-e500l.c: Re-generated. * features/rs6000/powerpc-isa205-32l.c: Re-generated. * features/rs6000/powerpc-isa205-64l.c: Re-generated. * features/rs6000/powerpc-isa205-altivec32l.c: Re-generated. * features/rs6000/powerpc-isa205-altivec64l.c: Re-generated. * features/rs6000/powerpc-isa205-vsx32l.c: Re-generated. * features/rs6000/powerpc-isa205-vsx64l.c: Re-generated. * features/rs6000/powerpc-vsx32.c: Re-generated. * features/rs6000/powerpc-vsx32l.c: Re-generated. * features/rs6000/powerpc-vsx64.c: Re-generated. * features/rs6000/powerpc-vsx64l.c: Re-generated. * features/rs6000/rs6000.c: Re-generated. * features/s390-linux32.c: Re-generated. * features/s390-linux32v1.c: Re-generated. * features/s390-linux32v2.c: Re-generated. * features/s390-linux64.c: Re-generated. * features/s390-linux64v1.c: Re-generated. * features/s390-linux64v2.c: Re-generated. * features/s390-te-linux64.c: Re-generated. * features/s390-tevx-linux64.c: Re-generated. * features/s390-vx-linux64.c: Re-generated. * features/s390x-linux64.c: Re-generated. * features/s390x-linux64v1.c: Re-generated. * features/s390x-linux64v2.c: Re-generated. * features/s390x-te-linux64.c: Re-generated. * features/s390x-tevx-linux64.c: Re-generated. * features/s390x-vx-linux64.c: Re-generated. * features/sparc/sparc32-solaris.c: Re-generated. * features/sparc/sparc64-solaris.c: Re-generated. * features/tic6x-c62x.c: Re-generated. * features/tic6x-c62x-linux.c: Re-generated. * features/tic6x-c64x.c: Re-generated. * features/tic6x-c64x-linux.c: Re-generated. * features/tic6x-c64xp.c: Re-generated. * features/tic6x-c64xp-linux.c: Re-generated. --- gdb/features/rs6000/powerpc-32.c | 4 ++-- gdb/features/rs6000/powerpc-32l.c | 4 ++-- gdb/features/rs6000/powerpc-64.c | 4 ++-- gdb/features/rs6000/powerpc-64l.c | 4 ++-- gdb/features/rs6000/powerpc-7400.c | 4 ++-- gdb/features/rs6000/powerpc-altivec32.c | 8 ++++---- gdb/features/rs6000/powerpc-altivec32l.c | 8 ++++---- gdb/features/rs6000/powerpc-altivec64.c | 8 ++++---- gdb/features/rs6000/powerpc-altivec64l.c | 8 ++++---- gdb/features/rs6000/powerpc-cell32l.c | 8 ++++---- gdb/features/rs6000/powerpc-cell64l.c | 8 ++++---- gdb/features/rs6000/powerpc-e500.c | 4 ++-- gdb/features/rs6000/powerpc-e500l.c | 4 ++-- gdb/features/rs6000/powerpc-isa205-32l.c | 4 ++-- gdb/features/rs6000/powerpc-isa205-64l.c | 4 ++-- gdb/features/rs6000/powerpc-isa205-altivec32l.c | 8 ++++---- gdb/features/rs6000/powerpc-isa205-altivec64l.c | 8 ++++---- gdb/features/rs6000/powerpc-isa205-vsx32l.c | 8 ++++---- gdb/features/rs6000/powerpc-isa205-vsx64l.c | 8 ++++---- gdb/features/rs6000/powerpc-vsx32.c | 8 ++++---- gdb/features/rs6000/powerpc-vsx32l.c | 8 ++++---- gdb/features/rs6000/powerpc-vsx64.c | 8 ++++---- gdb/features/rs6000/powerpc-vsx64l.c | 8 ++++---- gdb/features/rs6000/rs6000.c | 4 ++-- 24 files changed, 76 insertions(+), 76 deletions(-) (limited to 'gdb/features/rs6000') diff --git a/gdb/features/rs6000/powerpc-32.c b/gdb/features/rs6000/powerpc-32.c index 5ee5d9c..39f5b14 100644 --- a/gdb/features/rs6000/powerpc-32.c +++ b/gdb/features/rs6000/powerpc-32.c @@ -10,10 +10,10 @@ static void initialize_tdesc_powerpc_32 (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); diff --git a/gdb/features/rs6000/powerpc-32l.c b/gdb/features/rs6000/powerpc-32l.c index 971fd4b..8089c04 100644 --- a/gdb/features/rs6000/powerpc-32l.c +++ b/gdb/features/rs6000/powerpc-32l.c @@ -10,10 +10,10 @@ static void initialize_tdesc_powerpc_32l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); diff --git a/gdb/features/rs6000/powerpc-64.c b/gdb/features/rs6000/powerpc-64.c index 160d122..a9760a3 100644 --- a/gdb/features/rs6000/powerpc-64.c +++ b/gdb/features/rs6000/powerpc-64.c @@ -10,10 +10,10 @@ static void initialize_tdesc_powerpc_64 (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64"); diff --git a/gdb/features/rs6000/powerpc-64l.c b/gdb/features/rs6000/powerpc-64l.c index 16a766e..408794e 100644 --- a/gdb/features/rs6000/powerpc-64l.c +++ b/gdb/features/rs6000/powerpc-64l.c @@ -10,10 +10,10 @@ static void initialize_tdesc_powerpc_64l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64"); diff --git a/gdb/features/rs6000/powerpc-7400.c b/gdb/features/rs6000/powerpc-7400.c index 69d20c4..32b6995 100644 --- a/gdb/features/rs6000/powerpc-7400.c +++ b/gdb/features/rs6000/powerpc-7400.c @@ -11,8 +11,6 @@ initialize_tdesc_powerpc_7400 (void) { struct target_desc *result = allocate_target_description (); struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); @@ -140,6 +138,7 @@ initialize_tdesc_powerpc_7400 (void) tdesc_create_reg (feature, "ear", 118, 1, NULL, 32, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -152,6 +151,7 @@ initialize_tdesc_powerpc_7400 (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-altivec32.c b/gdb/features/rs6000/powerpc-altivec32.c index 285e87d..e97132e 100644 --- a/gdb/features/rs6000/powerpc-altivec32.c +++ b/gdb/features/rs6000/powerpc-altivec32.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_altivec32 (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); @@ -92,6 +90,7 @@ initialize_tdesc_powerpc_altivec32 (void) tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -104,6 +103,7 @@ initialize_tdesc_powerpc_altivec32 (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-altivec32l.c b/gdb/features/rs6000/powerpc-altivec32l.c index 447ed47..a9445d9 100644 --- a/gdb/features/rs6000/powerpc-altivec32l.c +++ b/gdb/features/rs6000/powerpc-altivec32l.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_altivec32l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); @@ -96,6 +94,7 @@ initialize_tdesc_powerpc_altivec32l (void) tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -108,6 +107,7 @@ initialize_tdesc_powerpc_altivec32l (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-altivec64.c b/gdb/features/rs6000/powerpc-altivec64.c index 1e9a61d..3b626a9 100644 --- a/gdb/features/rs6000/powerpc-altivec64.c +++ b/gdb/features/rs6000/powerpc-altivec64.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_altivec64 (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64"); @@ -92,6 +90,7 @@ initialize_tdesc_powerpc_altivec64 (void) tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -104,6 +103,7 @@ initialize_tdesc_powerpc_altivec64 (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-altivec64l.c b/gdb/features/rs6000/powerpc-altivec64l.c index 10ecd8a..cca5353 100644 --- a/gdb/features/rs6000/powerpc-altivec64l.c +++ b/gdb/features/rs6000/powerpc-altivec64l.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_altivec64l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64"); @@ -96,6 +94,7 @@ initialize_tdesc_powerpc_altivec64l (void) tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -108,6 +107,7 @@ initialize_tdesc_powerpc_altivec64l (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-cell32l.c b/gdb/features/rs6000/powerpc-cell32l.c index 7d33dc2..c615b8d 100644 --- a/gdb/features/rs6000/powerpc-cell32l.c +++ b/gdb/features/rs6000/powerpc-cell32l.c @@ -10,14 +10,12 @@ static void initialize_tdesc_powerpc_cell32l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common")); tdesc_add_compatible (result, bfd_scan_arch ("spu:256K")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); @@ -98,6 +96,7 @@ initialize_tdesc_powerpc_cell32l (void) tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -110,6 +109,7 @@ initialize_tdesc_powerpc_cell32l (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-cell64l.c b/gdb/features/rs6000/powerpc-cell64l.c index 6054c26..5040e5e 100644 --- a/gdb/features/rs6000/powerpc-cell64l.c +++ b/gdb/features/rs6000/powerpc-cell64l.c @@ -10,14 +10,12 @@ static void initialize_tdesc_powerpc_cell64l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64")); tdesc_add_compatible (result, bfd_scan_arch ("spu:256K")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64"); @@ -98,6 +96,7 @@ initialize_tdesc_powerpc_cell64l (void) tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -110,6 +109,7 @@ initialize_tdesc_powerpc_cell64l (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-e500.c b/gdb/features/rs6000/powerpc-e500.c index aaca3a7..4466bc7 100644 --- a/gdb/features/rs6000/powerpc-e500.c +++ b/gdb/features/rs6000/powerpc-e500.c @@ -10,10 +10,10 @@ static void initialize_tdesc_powerpc_e500 (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:e500")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); diff --git a/gdb/features/rs6000/powerpc-e500l.c b/gdb/features/rs6000/powerpc-e500l.c index de03862..61acbf3 100644 --- a/gdb/features/rs6000/powerpc-e500l.c +++ b/gdb/features/rs6000/powerpc-e500l.c @@ -10,10 +10,10 @@ static void initialize_tdesc_powerpc_e500l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:e500")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); diff --git a/gdb/features/rs6000/powerpc-isa205-32l.c b/gdb/features/rs6000/powerpc-isa205-32l.c index 1b5bd6d..de6548f 100644 --- a/gdb/features/rs6000/powerpc-isa205-32l.c +++ b/gdb/features/rs6000/powerpc-isa205-32l.c @@ -10,10 +10,10 @@ static void initialize_tdesc_powerpc_isa205_32l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); diff --git a/gdb/features/rs6000/powerpc-isa205-64l.c b/gdb/features/rs6000/powerpc-isa205-64l.c index 31bfc87..cd3b2c1 100644 --- a/gdb/features/rs6000/powerpc-isa205-64l.c +++ b/gdb/features/rs6000/powerpc-isa205-64l.c @@ -10,10 +10,10 @@ static void initialize_tdesc_powerpc_isa205_64l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64"); diff --git a/gdb/features/rs6000/powerpc-isa205-altivec32l.c b/gdb/features/rs6000/powerpc-isa205-altivec32l.c index 6c216ce..943d02d 100644 --- a/gdb/features/rs6000/powerpc-isa205-altivec32l.c +++ b/gdb/features/rs6000/powerpc-isa205-altivec32l.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_isa205_altivec32l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); @@ -96,6 +94,7 @@ initialize_tdesc_powerpc_isa205_altivec32l (void) tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -108,6 +107,7 @@ initialize_tdesc_powerpc_isa205_altivec32l (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-isa205-altivec64l.c b/gdb/features/rs6000/powerpc-isa205-altivec64l.c index 2c206aa..d454bac 100644 --- a/gdb/features/rs6000/powerpc-isa205-altivec64l.c +++ b/gdb/features/rs6000/powerpc-isa205-altivec64l.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_isa205_altivec64l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64"); @@ -96,6 +94,7 @@ initialize_tdesc_powerpc_isa205_altivec64l (void) tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -108,6 +107,7 @@ initialize_tdesc_powerpc_isa205_altivec64l (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-isa205-vsx32l.c b/gdb/features/rs6000/powerpc-isa205-vsx32l.c index 4659ce1..09fd5ce 100644 --- a/gdb/features/rs6000/powerpc-isa205-vsx32l.c +++ b/gdb/features/rs6000/powerpc-isa205-vsx32l.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_isa205_vsx32l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); @@ -96,6 +94,7 @@ initialize_tdesc_powerpc_isa205_vsx32l (void) tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -108,6 +107,7 @@ initialize_tdesc_powerpc_isa205_vsx32l (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-isa205-vsx64l.c b/gdb/features/rs6000/powerpc-isa205-vsx64l.c index 64b12b9..d295ab7 100644 --- a/gdb/features/rs6000/powerpc-isa205-vsx64l.c +++ b/gdb/features/rs6000/powerpc-isa205-vsx64l.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_isa205_vsx64l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64"); @@ -96,6 +94,7 @@ initialize_tdesc_powerpc_isa205_vsx64l (void) tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -108,6 +107,7 @@ initialize_tdesc_powerpc_isa205_vsx64l (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-vsx32.c b/gdb/features/rs6000/powerpc-vsx32.c index ba1fcb6..8cf7562 100644 --- a/gdb/features/rs6000/powerpc-vsx32.c +++ b/gdb/features/rs6000/powerpc-vsx32.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_vsx32 (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); @@ -92,6 +90,7 @@ initialize_tdesc_powerpc_vsx32 (void) tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -104,6 +103,7 @@ initialize_tdesc_powerpc_vsx32 (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-vsx32l.c b/gdb/features/rs6000/powerpc-vsx32l.c index 013e392..e8c1881 100644 --- a/gdb/features/rs6000/powerpc-vsx32l.c +++ b/gdb/features/rs6000/powerpc-vsx32l.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_vsx32l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32"); @@ -96,6 +94,7 @@ initialize_tdesc_powerpc_vsx32l (void) tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -108,6 +107,7 @@ initialize_tdesc_powerpc_vsx32l (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-vsx64.c b/gdb/features/rs6000/powerpc-vsx64.c index ca02323..30953c5 100644 --- a/gdb/features/rs6000/powerpc-vsx64.c +++ b/gdb/features/rs6000/powerpc-vsx64.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_vsx64 (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64"); @@ -92,6 +90,7 @@ initialize_tdesc_powerpc_vsx64 (void) tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -104,6 +103,7 @@ initialize_tdesc_powerpc_vsx64 (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/powerpc-vsx64l.c b/gdb/features/rs6000/powerpc-vsx64l.c index 31bb224..5f12650 100644 --- a/gdb/features/rs6000/powerpc-vsx64l.c +++ b/gdb/features/rs6000/powerpc-vsx64l.c @@ -10,12 +10,10 @@ static void initialize_tdesc_powerpc_vsx64l (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - struct tdesc_type *field_type; - struct tdesc_type *type; - set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64"); @@ -96,6 +94,7 @@ initialize_tdesc_powerpc_vsx64l (void) tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int"); feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec"); + struct tdesc_type *field_type; field_type = tdesc_named_type (feature, "ieee_single"); tdesc_create_vector (feature, "v4f", field_type, 4); @@ -108,6 +107,7 @@ initialize_tdesc_powerpc_vsx64l (void) field_type = tdesc_named_type (feature, "int8"); tdesc_create_vector (feature, "v16i8", field_type, 16); + struct tdesc_type *type; type = tdesc_create_union (feature, "vec128"); field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); diff --git a/gdb/features/rs6000/rs6000.c b/gdb/features/rs6000/rs6000.c index d4e93a5..709b5da 100644 --- a/gdb/features/rs6000/rs6000.c +++ b/gdb/features/rs6000/rs6000.c @@ -10,10 +10,10 @@ static void initialize_tdesc_rs6000 (void) { struct target_desc *result = allocate_target_description (); - struct tdesc_feature *feature; - set_tdesc_architecture (result, bfd_scan_arch ("rs6000:6000")); + struct tdesc_feature *feature; + feature = tdesc_create_feature (result, "org.gnu.gdb.power.core"); tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int"); tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int"); -- cgit v1.1