Fix PR16220

This patch removes startup_gdbarch because it is not used anymore.
After this patch,

 [PATCH] Multi-process + multi-arch: GDB
 https://sourceware.org/ml/gdb-patches/2012-11/msg00228.html

global variable target_gdbarch is removed and gdbarch becomes
per-inferior.  Then, we don't have to keep global variable
startup_gdbarch.

Rebuild GDB with all targets.  Is it OK?

gdb:

2014-02-18  Yao Qi  <yao@codesourcery.com>

	PR gdb/16220
	* gdbarch.sh: Remove startup_gdbarch.
	* gdbarch.c: Regenerated.
	* gdbarch.h: Likewise.
This commit is contained in:
Yao Qi 2014-02-18 14:57:03 +08:00
parent 5db3e65d39
commit e095146be2
4 changed files with 7 additions and 237 deletions

View File

@ -1,3 +1,10 @@
2014-02-19 Yao Qi <yao@codesourcery.com>
PR gdb/16220
* gdbarch.sh: Remove startup_gdbarch.
* gdbarch.c: Regenerated.
* gdbarch.h: Likewise.
2014-02-17 Kevin Buettner <kevinb@redhat.com>
* rl78-tdep.c (rl78_g10_register_name): New function.

View File

@ -159,9 +159,6 @@ struct gdbarch
gdbarch_dump(): Add a fprintf_unfiltered call so that the new
field is dumped out
``startup_gdbarch()'': Append an initial value to the static
variable (base values on the host's c-type system).
get_gdbarch(): Implement the set/get functions (probably using
the macro's as shortcuts).
@ -323,185 +320,6 @@ struct gdbarch
gdbarch_insn_is_jump_ftype *insn_is_jump;
};
/* The default architecture uses host values (for want of a better
choice). */
extern const struct bfd_arch_info bfd_default_arch_struct;
struct gdbarch startup_gdbarch =
{
1, /* Always initialized. */
NULL, /* The obstack. */
/* basic architecture information. */
&bfd_default_arch_struct, /* bfd_arch_info */
BFD_ENDIAN_BIG, /* byte_order */
BFD_ENDIAN_BIG, /* byte_order_for_code */
GDB_OSABI_UNKNOWN, /* osabi */
0, /* target_desc */
/* target specific vector and its dump routine. */
NULL, NULL,
/*per-architecture data-pointers. */
0, NULL,
/* Multi-arch values */
1, /* bits_big_endian */
8 * sizeof (short), /* short_bit */
8 * sizeof (int), /* int_bit */
8 * sizeof (long), /* long_bit */
8 * sizeof (LONGEST), /* long_long_bit */
8 * sizeof (LONGEST), /* long_long_align_bit */
16, /* half_bit */
0, /* half_format */
8 * sizeof (float), /* float_bit */
0, /* float_format */
8 * sizeof (double), /* double_bit */
0, /* double_format */
8 * sizeof (long double), /* long_double_bit */
0, /* long_double_format */
8 * sizeof (void*), /* ptr_bit */
8 * sizeof (void*), /* addr_bit */
sizeof (void*), /* dwarf2_addr_size */
1, /* char_signed */
0, /* read_pc */
0, /* write_pc */
legacy_virtual_frame_pointer, /* virtual_frame_pointer */
0, /* pseudo_register_read */
0, /* pseudo_register_read_value */
0, /* pseudo_register_write */
0, /* num_regs */
0, /* num_pseudo_regs */
0, /* ax_pseudo_register_collect */
0, /* ax_pseudo_register_push_stack */
-1, /* sp_regnum */
-1, /* pc_regnum */
-1, /* ps_regnum */
0, /* fp0_regnum */
no_op_reg_to_regnum, /* stab_reg_to_regnum */
no_op_reg_to_regnum, /* ecoff_reg_to_regnum */
no_op_reg_to_regnum, /* sdb_reg_to_regnum */
no_op_reg_to_regnum, /* dwarf2_reg_to_regnum */
0, /* register_name */
0, /* register_type */
0, /* dummy_id */
-1, /* deprecated_fp_regnum */
0, /* push_dummy_call */
0, /* call_dummy_location */
0, /* push_dummy_code */
default_print_registers_info, /* print_registers_info */
0, /* print_float_info */
0, /* print_vector_info */
legacy_register_sim_regno, /* register_sim_regno */
cannot_register_not, /* cannot_fetch_register */
cannot_register_not, /* cannot_store_register */
0, /* get_longjmp_target */
0, /* believe_pcc_promotion */
generic_convert_register_p, /* convert_register_p */
0, /* register_to_value */
0, /* value_to_register */
0, /* value_from_register */
unsigned_pointer_to_address, /* pointer_to_address */
unsigned_address_to_pointer, /* address_to_pointer */
0, /* integer_to_address */
0, /* return_value */
default_return_in_first_hidden_param_p, /* return_in_first_hidden_param_p */
0, /* skip_prologue */
0, /* skip_main_prologue */
0, /* skip_entrypoint */
0, /* inner_than */
0, /* breakpoint_from_pc */
default_remote_breakpoint_from_pc, /* remote_breakpoint_from_pc */
0, /* adjust_breakpoint_address */
default_memory_insert_breakpoint, /* memory_insert_breakpoint */
default_memory_remove_breakpoint, /* memory_remove_breakpoint */
0, /* decr_pc_after_break */
0, /* deprecated_function_start_offset */
default_remote_register_number, /* remote_register_number */
0, /* fetch_tls_load_module_address */
0, /* frame_args_skip */
0, /* unwind_pc */
0, /* unwind_sp */
0, /* frame_num_args */
0, /* frame_align */
default_stabs_argument_has_addr, /* stabs_argument_has_addr */
0, /* frame_red_zone_size */
convert_from_func_ptr_addr_identity, /* convert_from_func_ptr_addr */
core_addr_identity, /* addr_bits_remove */
0, /* software_single_step */
0, /* single_step_through_delay */
0, /* print_insn */
0, /* skip_trampoline_code */
generic_skip_solib_resolver, /* skip_solib_resolver */
generic_in_solib_return_trampoline, /* in_solib_return_trampoline */
generic_in_function_epilogue_p, /* in_function_epilogue_p */
0, /* elf_make_msymbol_special */
0, /* coff_make_msymbol_special */
0, /* cannot_step_breakpoint */
0, /* have_nonsteppable_watchpoint */
0, /* address_class_type_flags */
0, /* address_class_type_flags_to_name */
0, /* address_class_name_to_type_flags */
default_register_reggroup_p, /* register_reggroup_p */
0, /* fetch_pointer_argument */
0, /* regset_from_core_section */
0, /* core_regset_sections */
0, /* make_corefile_notes */
0, /* elfcore_write_linux_prpsinfo */
0, /* find_memory_regions */
0, /* core_xfer_shared_libraries */
0, /* core_xfer_shared_libraries_aix */
0, /* core_pid_to_str */
0, /* gcore_bfd_target */
0, /* vtable_function_descriptors */
0, /* vbit_in_delta */
0, /* skip_permanent_breakpoint */
0, /* max_insn_length */
0, /* displaced_step_copy_insn */
default_displaced_step_hw_singlestep, /* displaced_step_hw_singlestep */
0, /* displaced_step_fixup */
NULL, /* displaced_step_free_closure */
NULL, /* displaced_step_location */
0, /* relocate_instruction */
0, /* overlay_update */
0, /* core_read_description */
0, /* static_transform_name */
0, /* sofun_address_maybe_missing */
0, /* process_record */
0, /* process_record_signal */
0, /* gdb_signal_from_target */
0, /* gdb_signal_to_target */
0, /* get_siginfo_type */
0, /* record_special_symbol */
0, /* get_syscall_number */
0, /* stap_integer_prefixes */
0, /* stap_integer_suffixes */
0, /* stap_register_prefixes */
0, /* stap_register_suffixes */
0, /* stap_register_indirection_prefixes */
0, /* stap_register_indirection_suffixes */
0, /* stap_gdb_register_prefix */
0, /* stap_gdb_register_suffix */
0, /* stap_is_single_operand */
0, /* stap_parse_special_token */
0, /* has_global_solist */
0, /* has_global_breakpoints */
default_has_shared_address_space, /* has_shared_address_space */
default_fast_tracepoint_valid_at, /* fast_tracepoint_valid_at */
default_auto_charset, /* auto_charset */
default_auto_wide_charset, /* auto_wide_charset */
0, /* solib_symbols_extension */
0, /* has_dos_based_file_system */
default_gen_return_address, /* gen_return_address */
0, /* info_proc */
0, /* core_info_proc */
default_iterate_over_objfiles_in_search_order, /* iterate_over_objfiles_in_search_order */
NULL, /* ravenscar_ops */
default_insn_is_call, /* insn_is_call */
default_insn_is_ret, /* insn_is_ret */
default_insn_is_jump, /* insn_is_jump */
/* startup_gdbarch() */
};
/* Create a new ``struct gdbarch'' based on information provided by
``struct gdbarch_info''. */

View File

@ -74,11 +74,6 @@ struct elf_internal_linux_prpsinfo;
/* This is a convenience wrapper for 'current_inferior ()->gdbarch'. */
extern struct gdbarch *target_gdbarch (void);
/* The initial, default architecture. It uses host values (for want of a better
choice). */
extern struct gdbarch startup_gdbarch;
/* Callback type for the 'iterate_over_objfiles_in_search_order'
gdbarch method. */

View File

@ -1157,11 +1157,6 @@ struct elf_internal_linux_prpsinfo;
/* This is a convenience wrapper for 'current_inferior ()->gdbarch'. */
extern struct gdbarch *target_gdbarch (void);
/* The initial, default architecture. It uses host values (for want of a better
choice). */
extern struct gdbarch startup_gdbarch;
/* Callback type for the 'iterate_over_objfiles_in_search_order'
gdbarch method. */
@ -1595,9 +1590,6 @@ cat <<EOF
gdbarch_dump(): Add a fprintf_unfiltered call so that the new
field is dumped out
\`\`startup_gdbarch()'': Append an initial value to the static
variable (base values on the host's c-type system).
get_gdbarch(): Implement the set/get functions (probably using
the macro's as shortcuts).
@ -1616,48 +1608,6 @@ do
done
printf "};\n"
# A pre-initialized vector
printf "\n"
printf "\n"
cat <<EOF
/* The default architecture uses host values (for want of a better
choice). */
EOF
printf "\n"
printf "extern const struct bfd_arch_info bfd_default_arch_struct;\n"
printf "\n"
printf "struct gdbarch startup_gdbarch =\n"
printf "{\n"
printf " 1, /* Always initialized. */\n"
printf " NULL, /* The obstack. */\n"
printf " /* basic architecture information. */\n"
function_list | while do_read
do
if class_is_info_p
then
printf " ${staticdefault}, /* ${function} */\n"
fi
done
cat <<EOF
/* target specific vector and its dump routine. */
NULL, NULL,
/*per-architecture data-pointers. */
0, NULL,
/* Multi-arch values */
EOF
function_list | while do_read
do
if class_is_function_p || class_is_variable_p
then
printf " ${staticdefault}, /* ${function} */\n"
fi
done
cat <<EOF
/* startup_gdbarch() */
};
EOF
# Create a new gdbarch struct
cat <<EOF