From f70e088ff4ebf79a4bea45e84a8b042706e6e083 Mon Sep 17 00:00:00 2001 From: Sandra Loosemore Date: Fri, 14 Sep 2018 20:09:46 -0700 Subject: [PATCH] Provide type_align gdbarch function for nios2. 2018-09-14 Sandra Loosemore gdb/ * nios2-tdep.c (nios2_type_align): New. (nios2_gdb_arch_init): Install type_align hook. --- gdb/ChangeLog | 5 +++++ gdb/nios2-tdep.c | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4e667b7ec56..6fe0526597c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2018-09-14 Sandra Loosemore + + * nios2-tdep.c (nios2_type_align): New. + (nios2_gdb_arch_init): Install type_align hook. + 2018-09-10 Andrew Burgess * eval.c (fake_method::fake_method): Call xzalloc directly for a diff --git a/gdb/nios2-tdep.c b/gdb/nios2-tdep.c index c7d5b9f58f6..eb5285a4a27 100644 --- a/gdb/nios2-tdep.c +++ b/gdb/nios2-tdep.c @@ -2230,6 +2230,15 @@ nios2_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) return 1; } +/* Implement the type_align gdbarch function. */ + +static ULONGEST +nios2_type_align (struct gdbarch *gdbarch, struct type *type) +{ + type = check_typedef (type); + return std::min (4, TYPE_LENGTH (type)); +} + /* Initialize the Nios II gdbarch. */ static struct gdbarch * @@ -2293,6 +2302,8 @@ nios2_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_float_bit (gdbarch, 32); set_gdbarch_double_bit (gdbarch, 64); + set_gdbarch_type_align (gdbarch, nios2_type_align); + set_gdbarch_float_format (gdbarch, floatformats_ieee_single); set_gdbarch_double_format (gdbarch, floatformats_ieee_double);