mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 11:00:01 +08:00
Call set_gdbarch_get_siginfo_type in linux_init_abi
linux_get_siginfo_type is installed to many linux gdbarch. This patch is to move this to a common area linux-tdep.c:linux_init_abi, so that linux_get_siginfo_type is installed to every linux gdbarch. If some linux gdbarch needs its own version, please override it in $ARCH_linux_init_abi. In the testsuite, we enable siginfo related tests for all linux targets. gdb: 2015-06-24 Yao Qi <yao.qi@linaro.org> * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't call set_gdbarch_get_siginfo_type. * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise. * arm-linux-tdep.c (arm_linux_init_abi): Likewise. * i386-linux-tdep.c (i386_linux_init_abi): Likewise. * m68klinux-tdep.c (m68k_linux_init_abi): Likewise. * ppc-linux-tdep.c (ppc_linux_init_abi): Likewise. * s390-linux-tdep.c (s390_gdbarch_init): Likewise. * tilegx-linux-tdep.c (tilegx_linux_init_abi): Likewise. * linux-tdep.c (linux_get_siginfo_type): Change it to static. (linux_init_abi): Call set_gdbarch_get_siginfo_type. * linux-tdep.h (linux_get_siginfo_type): Remove the declaration. gdb/testsuite: 2015-06-24 Yao Qi <yao.qi@linaro.org> * lib/gdb.exp (supports_get_siginfo_type): Return 1 for all linux targets.
This commit is contained in:
@ -1,3 +1,18 @@
|
|||||||
|
2015-06-24 Yao Qi <yao.qi@linaro.org>
|
||||||
|
|
||||||
|
* aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't call
|
||||||
|
set_gdbarch_get_siginfo_type.
|
||||||
|
* amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
|
||||||
|
* arm-linux-tdep.c (arm_linux_init_abi): Likewise.
|
||||||
|
* i386-linux-tdep.c (i386_linux_init_abi): Likewise.
|
||||||
|
* m68klinux-tdep.c (m68k_linux_init_abi): Likewise.
|
||||||
|
* ppc-linux-tdep.c (ppc_linux_init_abi): Likewise.
|
||||||
|
* s390-linux-tdep.c (s390_gdbarch_init): Likewise.
|
||||||
|
* tilegx-linux-tdep.c (tilegx_linux_init_abi): Likewise.
|
||||||
|
* linux-tdep.c (linux_get_siginfo_type): Change it to static.
|
||||||
|
(linux_init_abi): Call set_gdbarch_get_siginfo_type.
|
||||||
|
* linux-tdep.h (linux_get_siginfo_type): Remove the declaration.
|
||||||
|
|
||||||
2015-06-24 Gary Benson <gbenson@redhat.com>
|
2015-06-24 Gary Benson <gbenson@redhat.com>
|
||||||
|
|
||||||
* common/buffer.c (stdint.h): Do not include.
|
* common/buffer.c (stdint.h): Do not include.
|
||||||
|
@ -962,7 +962,6 @@ aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||||||
/* Shared library handling. */
|
/* Shared library handling. */
|
||||||
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
|
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
|
||||||
|
|
||||||
set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
|
|
||||||
tramp_frame_prepend_unwinder (gdbarch, &aarch64_linux_rt_sigframe);
|
tramp_frame_prepend_unwinder (gdbarch, &aarch64_linux_rt_sigframe);
|
||||||
|
|
||||||
/* Enable longjmp. */
|
/* Enable longjmp. */
|
||||||
|
@ -1835,8 +1835,6 @@ amd64_linux_init_abi_common(struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||||||
set_gdbarch_displaced_step_location (gdbarch,
|
set_gdbarch_displaced_step_location (gdbarch,
|
||||||
linux_displaced_step_location);
|
linux_displaced_step_location);
|
||||||
|
|
||||||
set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
|
|
||||||
|
|
||||||
set_gdbarch_process_record (gdbarch, i386_process_record);
|
set_gdbarch_process_record (gdbarch, i386_process_record);
|
||||||
set_gdbarch_process_record_signal (gdbarch, amd64_linux_record_signal);
|
set_gdbarch_process_record_signal (gdbarch, amd64_linux_record_signal);
|
||||||
}
|
}
|
||||||
|
@ -1440,8 +1440,6 @@ arm_linux_init_abi (struct gdbarch_info info,
|
|||||||
(gdbarch, arm_linux_iterate_over_regset_sections);
|
(gdbarch, arm_linux_iterate_over_regset_sections);
|
||||||
set_gdbarch_core_read_description (gdbarch, arm_linux_core_read_description);
|
set_gdbarch_core_read_description (gdbarch, arm_linux_core_read_description);
|
||||||
|
|
||||||
set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
|
|
||||||
|
|
||||||
/* Displaced stepping. */
|
/* Displaced stepping. */
|
||||||
set_gdbarch_displaced_step_copy_insn (gdbarch,
|
set_gdbarch_displaced_step_copy_insn (gdbarch,
|
||||||
arm_linux_displaced_step_copy_insn);
|
arm_linux_displaced_step_copy_insn);
|
||||||
|
@ -994,8 +994,6 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||||||
set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_I386);
|
set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_I386);
|
||||||
set_gdbarch_get_syscall_number (gdbarch,
|
set_gdbarch_get_syscall_number (gdbarch,
|
||||||
i386_linux_get_syscall_number);
|
i386_linux_get_syscall_number);
|
||||||
|
|
||||||
set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Provide a prototype to silence -Wmissing-prototypes. */
|
/* Provide a prototype to silence -Wmissing-prototypes. */
|
||||||
|
@ -243,7 +243,7 @@ get_linux_inferior_data (void)
|
|||||||
/* This function is suitable for architectures that don't
|
/* This function is suitable for architectures that don't
|
||||||
extend/override the standard siginfo structure. */
|
extend/override the standard siginfo structure. */
|
||||||
|
|
||||||
struct type *
|
static struct type *
|
||||||
linux_get_siginfo_type (struct gdbarch *gdbarch)
|
linux_get_siginfo_type (struct gdbarch *gdbarch)
|
||||||
{
|
{
|
||||||
struct linux_gdbarch_data *linux_gdbarch_data;
|
struct linux_gdbarch_data *linux_gdbarch_data;
|
||||||
@ -2440,6 +2440,7 @@ linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||||||
set_gdbarch_vsyscall_range (gdbarch, linux_vsyscall_range);
|
set_gdbarch_vsyscall_range (gdbarch, linux_vsyscall_range);
|
||||||
set_gdbarch_infcall_mmap (gdbarch, linux_infcall_mmap);
|
set_gdbarch_infcall_mmap (gdbarch, linux_infcall_mmap);
|
||||||
set_gdbarch_infcall_munmap (gdbarch, linux_infcall_munmap);
|
set_gdbarch_infcall_munmap (gdbarch, linux_infcall_munmap);
|
||||||
|
set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Provide a prototype to silence -Wmissing-prototypes. */
|
/* Provide a prototype to silence -Wmissing-prototypes. */
|
||||||
|
@ -29,8 +29,6 @@ typedef char *(*linux_collect_thread_registers_ftype) (const struct regcache *,
|
|||||||
bfd *, char *, int *,
|
bfd *, char *, int *,
|
||||||
enum gdb_signal);
|
enum gdb_signal);
|
||||||
|
|
||||||
struct type *linux_get_siginfo_type (struct gdbarch *);
|
|
||||||
|
|
||||||
extern enum gdb_signal linux_gdb_signal_from_target (struct gdbarch *gdbarch,
|
extern enum gdb_signal linux_gdb_signal_from_target (struct gdbarch *gdbarch,
|
||||||
int signal);
|
int signal);
|
||||||
|
|
||||||
|
@ -422,8 +422,6 @@ m68k_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||||||
/* Enable TLS support. */
|
/* Enable TLS support. */
|
||||||
set_gdbarch_fetch_tls_load_module_address (gdbarch,
|
set_gdbarch_fetch_tls_load_module_address (gdbarch,
|
||||||
svr4_fetch_objfile_link_map);
|
svr4_fetch_objfile_link_map);
|
||||||
|
|
||||||
set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Provide a prototype to silence -Wmissing-prototypes. */
|
/* Provide a prototype to silence -Wmissing-prototypes. */
|
||||||
|
@ -1801,8 +1801,6 @@ ppc_linux_init_abi (struct gdbarch_info info,
|
|||||||
set_gdbarch_displaced_step_location (gdbarch,
|
set_gdbarch_displaced_step_location (gdbarch,
|
||||||
linux_displaced_step_location);
|
linux_displaced_step_location);
|
||||||
|
|
||||||
set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
|
|
||||||
|
|
||||||
/* Support reverse debugging. */
|
/* Support reverse debugging. */
|
||||||
set_gdbarch_process_record (gdbarch, ppc_process_record);
|
set_gdbarch_process_record (gdbarch, ppc_process_record);
|
||||||
set_gdbarch_process_record_signal (gdbarch, ppc_linux_record_signal);
|
set_gdbarch_process_record_signal (gdbarch, ppc_linux_record_signal);
|
||||||
|
@ -3329,8 +3329,6 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
|||||||
set_gdbarch_fetch_tls_load_module_address (gdbarch,
|
set_gdbarch_fetch_tls_load_module_address (gdbarch,
|
||||||
svr4_fetch_objfile_link_map);
|
svr4_fetch_objfile_link_map);
|
||||||
|
|
||||||
set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
|
|
||||||
|
|
||||||
/* SystemTap functions. */
|
/* SystemTap functions. */
|
||||||
set_gdbarch_stap_register_prefixes (gdbarch, stap_register_prefixes);
|
set_gdbarch_stap_register_prefixes (gdbarch, stap_register_prefixes);
|
||||||
set_gdbarch_stap_register_indirection_prefixes (gdbarch,
|
set_gdbarch_stap_register_indirection_prefixes (gdbarch,
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2015-06-24 Yao Qi <yao.qi@linaro.org>
|
||||||
|
|
||||||
|
* lib/gdb.exp (supports_get_siginfo_type): Return 1 for all
|
||||||
|
linux targets.
|
||||||
|
|
||||||
2015-06-24 Yao Qi <yao.qi@linaro.org>
|
2015-06-24 Yao Qi <yao.qi@linaro.org>
|
||||||
|
|
||||||
* lib/gdb.exp (supports_get_siginfo_type): New proc.
|
* lib/gdb.exp (supports_get_siginfo_type): New proc.
|
||||||
|
@ -2000,9 +2000,7 @@ gdb_caching_proc support_complex_tests {
|
|||||||
# return 0.
|
# return 0.
|
||||||
|
|
||||||
proc supports_get_siginfo_type {} {
|
proc supports_get_siginfo_type {} {
|
||||||
if { [istarget "i?86-*-linux*"]
|
if { [istarget "*-*-linux*"] } {
|
||||||
|| [istarget "x86_64-*-linux*"]
|
|
||||||
|| [istarget "arm*-*-linux*"] } {
|
|
||||||
return 1
|
return 1
|
||||||
} else {
|
} else {
|
||||||
return 0
|
return 0
|
||||||
|
@ -133,8 +133,6 @@ tilegx_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|||||||
/* Shared library handling. */
|
/* Shared library handling. */
|
||||||
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
|
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
|
||||||
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
|
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
|
||||||
|
|
||||||
set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Provide a prototype to silence -Wmissing-prototypes. */
|
/* Provide a prototype to silence -Wmissing-prototypes. */
|
||||||
|
Reference in New Issue
Block a user