+2018-02-26 Alan Hayward <alan.hayward@arm.com>
+
+ * arch/amd64.h: Use common/tdesc.h.
+ * arch/i386.c: Likewise.
+ * arch/i386.h: Likewise.
+ * arch/tic6x.c: Likewise.
+ * arch/tdesc.h: Move file from here...
+ * common/tdesc.h: ...to here.
+ * features/aarch64-core.c: Regenerate.
+ * features/aarch64-fpu.c: Regenerate.
+ * features/i386/32bit-avx.c: Regenerate.
+ * features/i386/32bit-avx512.c: Regenerate.
+ * features/i386/32bit-core.c: Regenerate.
+ * features/i386/32bit-linux.c: Regenerate.
+ * features/i386/32bit-mpx.c: Regenerate.
+ * features/i386/32bit-pkeys.c: Regenerate.
+ * features/i386/32bit-sse.c: Regenerate.
+ * features/i386/64bit-avx.c: Regenerate.
+ * features/i386/64bit-avx512.c: Regenerate.
+ * features/i386/64bit-core.c: Regenerate.
+ * features/i386/64bit-linux.c: Regenerate.
+ * features/i386/64bit-mpx.c: Regenerate.
+ * features/i386/64bit-pkeys.c: Regenerate.
+ * features/i386/64bit-segments.c: Regenerate.
+ * features/i386/64bit-sse.c: Regenerate.
+ * features/i386/x32-core.c: Regenerate.
+ * features/tic6x-c6xp.c: Regenerate.
+ * features/tic6x-core.c: Regenerate.
+ * features/tic6x-gp.c: Regenerate.
+ * target-descriptions.c: Use common/tdesc.h.
+ * target-descriptions.h: Likewise.
+
2018-02-24 Tom Tromey <tom@tromey.com>
* linux-thread-db.c (try_thread_db_load_from_pdir_1)
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#include "tdesc.h"
+#include "common/tdesc.h"
#include <stdint.h>
target_desc *amd64_create_target_description (uint64_t xcr0, bool is_x32,
#include "common-defs.h"
#include "i386.h"
-#include "tdesc.h"
+#include "common/tdesc.h"
#include "x86-xstate.h"
#include <stdlib.h>
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#include "tdesc.h"
+#include "common/tdesc.h"
#include <stdint.h>
target_desc *i386_create_target_description (uint64_t xcr0, bool is_linux);
+++ /dev/null
-/* Copyright (C) 2006-2018 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef ARCH_TDESC_H
-#define ARCH_TDESC_H 1
-
-struct tdesc_feature;
-struct tdesc_type;
-struct tdesc_type_builtin;
-struct tdesc_type_vector;
-struct tdesc_type_with_fields;
-struct tdesc_reg;
-struct target_desc;
-
-/* Allocate a new target_desc. */
-target_desc *allocate_target_description (void);
-
-/* Set TARGET_DESC's architecture by NAME. */
-void set_tdesc_architecture (target_desc *target_desc,
- const char *name);
-
-/* Set TARGET_DESC's osabi by NAME. */
-void set_tdesc_osabi (target_desc *target_desc, const char *name);
-
-/* Return the type associated with ID in the context of FEATURE, or
- NULL if none. */
-struct tdesc_type *tdesc_named_type (const struct tdesc_feature *feature,
- const char *id);
-
-/* Return the created feature named NAME in target description TDESC. */
-struct tdesc_feature *tdesc_create_feature (struct target_desc *tdesc,
- const char *name,
- const char *xml = nullptr);
-
-
-/* Return the created vector tdesc_type named NAME in FEATURE. */
-struct tdesc_type *tdesc_create_vector (struct tdesc_feature *feature,
- const char *name,
- struct tdesc_type *field_type,
- int count);
-
-/* Return the created struct tdesc_type named NAME in FEATURE. */
-tdesc_type_with_fields *tdesc_create_struct (struct tdesc_feature *feature,
- const char *name);
-
-/* Return the created union tdesc_type named NAME in FEATURE. */
-tdesc_type_with_fields *tdesc_create_union (struct tdesc_feature *feature,
- const char *name);
-
-/* Return the created flags tdesc_type named NAME in FEATURE. */
-tdesc_type_with_fields *tdesc_create_flags (struct tdesc_feature *feature,
- const char *name,
- int size);
-
-/* Add a new field to TYPE. FIELD_NAME is its name, and FIELD_TYPE is
- its type. */
-void tdesc_add_field (tdesc_type_with_fields *type, const char *field_name,
- struct tdesc_type *field_type);
-
-/* Set the total length of TYPE. Structs which contain bitfields may
- omit the reserved bits, so the end of the last field may not
- suffice. */
-void tdesc_set_struct_size (tdesc_type_with_fields *type, int size);
-
-/* Add a new untyped bitfield to TYPE.
- Untyped bitfields become either uint32 or uint64 depending on the size
- of the underlying type. */
-void tdesc_add_bitfield (tdesc_type_with_fields *type, const char *field_name,
- int start, int end);
-
-/* A flag is just a typed(bool) single-bit bitfield.
- This function is kept to minimize changes in generated files. */
-void tdesc_add_flag (tdesc_type_with_fields *type, int start,
- const char *flag_name);
-
-/* Create a register in feature FEATURE. */
-void tdesc_create_reg (struct tdesc_feature *feature, const char *name,
- int regnum, int save_restore, const char *group,
- int bitsize, const char *type);
-
-#endif /* ARCH_TDESC_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#include "tdesc.h"
+#include "common/tdesc.h"
#include "tic6x.h"
#include "common/common-defs.h"
--- /dev/null
+/* Copyright (C) 2006-2018 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef ARCH_TDESC_H
+#define ARCH_TDESC_H 1
+
+struct tdesc_feature;
+struct tdesc_type;
+struct tdesc_type_builtin;
+struct tdesc_type_vector;
+struct tdesc_type_with_fields;
+struct tdesc_reg;
+struct target_desc;
+
+/* Allocate a new target_desc. */
+target_desc *allocate_target_description (void);
+
+/* Set TARGET_DESC's architecture by NAME. */
+void set_tdesc_architecture (target_desc *target_desc,
+ const char *name);
+
+/* Set TARGET_DESC's osabi by NAME. */
+void set_tdesc_osabi (target_desc *target_desc, const char *name);
+
+/* Return the type associated with ID in the context of FEATURE, or
+ NULL if none. */
+struct tdesc_type *tdesc_named_type (const struct tdesc_feature *feature,
+ const char *id);
+
+/* Return the created feature named NAME in target description TDESC. */
+struct tdesc_feature *tdesc_create_feature (struct target_desc *tdesc,
+ const char *name,
+ const char *xml = nullptr);
+
+
+/* Return the created vector tdesc_type named NAME in FEATURE. */
+struct tdesc_type *tdesc_create_vector (struct tdesc_feature *feature,
+ const char *name,
+ struct tdesc_type *field_type,
+ int count);
+
+/* Return the created struct tdesc_type named NAME in FEATURE. */
+tdesc_type_with_fields *tdesc_create_struct (struct tdesc_feature *feature,
+ const char *name);
+
+/* Return the created union tdesc_type named NAME in FEATURE. */
+tdesc_type_with_fields *tdesc_create_union (struct tdesc_feature *feature,
+ const char *name);
+
+/* Return the created flags tdesc_type named NAME in FEATURE. */
+tdesc_type_with_fields *tdesc_create_flags (struct tdesc_feature *feature,
+ const char *name,
+ int size);
+
+/* Add a new field to TYPE. FIELD_NAME is its name, and FIELD_TYPE is
+ its type. */
+void tdesc_add_field (tdesc_type_with_fields *type, const char *field_name,
+ struct tdesc_type *field_type);
+
+/* Set the total length of TYPE. Structs which contain bitfields may
+ omit the reserved bits, so the end of the last field may not
+ suffice. */
+void tdesc_set_struct_size (tdesc_type_with_fields *type, int size);
+
+/* Add a new untyped bitfield to TYPE.
+ Untyped bitfields become either uint32 or uint64 depending on the size
+ of the underlying type. */
+void tdesc_add_bitfield (tdesc_type_with_fields *type, const char *field_name,
+ int start, int end);
+
+/* A flag is just a typed(bool) single-bit bitfield.
+ This function is kept to minimize changes in generated files. */
+void tdesc_add_flag (tdesc_type_with_fields *type, int start,
+ const char *flag_name);
+
+/* Create a register in feature FEATURE. */
+void tdesc_create_reg (struct tdesc_feature *feature, const char *name,
+ int regnum, int save_restore, const char *group,
+ int bitsize, const char *type);
+
+#endif /* ARCH_TDESC_H */
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: aarch64-core.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_aarch64_core (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: aarch64-fpu.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_aarch64_fpu (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 32bit-avx.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_32bit_avx (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 32bit-avx512.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_32bit_avx512 (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 32bit-core.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_32bit_core (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 32bit-linux.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_32bit_linux (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 32bit-mpx.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_32bit_mpx (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 32bit-pkeys.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_32bit_pkeys (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 32bit-sse.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_32bit_sse (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 64bit-avx.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_64bit_avx (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 64bit-avx512.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_64bit_avx512 (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 64bit-core.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_64bit_core (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 64bit-linux.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_64bit_linux (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 64bit-mpx.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_64bit_mpx (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 64bit-pkeys.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_64bit_pkeys (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 64bit-segments.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_64bit_segments (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: 64bit-sse.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_64bit_sse (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: x32-core.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_i386_x32_core (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: tic6x-c6xp.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_tic6x_c6xp (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: tic6x-core.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_tic6x_core (struct target_desc *result, long regnum)
/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
Original: tic6x-gp.xml */
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
static int
create_feature_tic6x_gp (struct target_desc *result, long regnum)
+2018-02-26 Alan Hayward <alan.hayward@arm.com>
+
+ * tdesc.c: Use common/tdesc.h.
+ * tdesc.h: Likewise.
+
2018-02-20 Alan Hayward <alan.hayward@arm.com>
Simon Marchi <simon.marchi@ericsson.com>
return current_process ()->tdesc;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
set_tdesc_architecture (struct target_desc *target_desc,
target_desc->arch = xstrdup (name);
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
set_tdesc_osabi (struct target_desc *target_desc, const char *name)
struct tdesc_type
{};
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
struct tdesc_feature *
tdesc_create_feature (struct target_desc *tdesc, const char *name,
return tdesc;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
tdesc_type_with_fields *
tdesc_create_flags (struct tdesc_feature *feature, const char *name,
return NULL;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
tdesc_add_flag (tdesc_type_with_fields *type, int start,
const char *flag_name)
{}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
struct tdesc_type *
tdesc_named_type (const struct tdesc_feature *feature, const char *id)
return NULL;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
tdesc_type_with_fields *
tdesc_create_union (struct tdesc_feature *feature, const char *id)
return NULL;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
tdesc_type_with_fields *
tdesc_create_struct (struct tdesc_feature *feature, const char *id)
return NULL;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
tdesc_create_reg (struct tdesc_feature *feature, const char *name,
tdesc->reg_defs.push_back (reg);
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
struct tdesc_type *
tdesc_create_vector (struct tdesc_feature *feature, const char *name,
int start, int end)
{}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
tdesc_add_field (tdesc_type_with_fields *type, const char *field_name,
struct tdesc_type *field_type)
{}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
tdesc_set_struct_size (tdesc_type_with_fields *type, int size)
#ifndef TDESC_H
#define TDESC_H
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
#include "regdef.h"
#include <vector>
gdb_assert_not_reached ("bad predefined tdesc type");
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
struct tdesc_type *
tdesc_named_type (const struct tdesc_feature *feature, const char *id)
}
\f
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
tdesc_create_reg (struct tdesc_feature *feature, const char *name,
feature->registers.emplace_back (reg);
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
struct tdesc_type *
tdesc_create_vector (struct tdesc_feature *feature, const char *name,
return type;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
tdesc_type_with_fields *
tdesc_create_struct (struct tdesc_feature *feature, const char *name)
return type;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
tdesc_set_struct_size (tdesc_type_with_fields *type, int size)
type->size = size;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
tdesc_type_with_fields *
tdesc_create_union (struct tdesc_feature *feature, const char *name)
return type;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
tdesc_type_with_fields *
tdesc_create_flags (struct tdesc_feature *feature, const char *name,
return type;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
tdesc_add_field (tdesc_type_with_fields *type, const char *field_name,
type->fields.emplace_back (field_name, field_type, start, end);
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
tdesc_add_bitfield (tdesc_type_with_fields *type, const char *field_name,
tdesc_add_typed_bitfield (type, field_name, start, end, field_type);
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
tdesc_add_flag (tdesc_type_with_fields *type, int start,
value, -1);
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
struct tdesc_feature *
tdesc_create_feature (struct target_desc *tdesc, const char *name,
target_desc->properties.emplace_back (key, value);
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
set_tdesc_architecture (struct target_desc *target_desc,
target_desc->arch = arch;
}
-/* See arch/tdesc.h. */
+/* See common/tdesc.h. */
void
set_tdesc_osabi (struct target_desc *target_desc, const char *name)
printf_unfiltered (" Original: %s */\n\n",
lbasename (m_filename_after_features.c_str ()));
- printf_unfiltered ("#include \"arch/tdesc.h\"\n");
+ printf_unfiltered ("#include \"common/tdesc.h\"\n");
printf_unfiltered ("\n");
}
#ifndef TARGET_DESCRIPTIONS_H
#define TARGET_DESCRIPTIONS_H 1
-#include "arch/tdesc.h"
+#include "common/tdesc.h"
struct tdesc_arch_data;
struct target_ops;