Add function gdbarch_info_init() replaces memset().
This commit is contained in:
parent
a5eb27e6ff
commit
fb6ecb0ffc
5 changed files with 37 additions and 9 deletions
|
@ -1,3 +1,14 @@
|
|||
2001-12-19 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* arch-utils.h (gdbarch_info_init): Declare.
|
||||
* arch-utils.c: Include "arch-utils.h".
|
||||
(gdbarch_info_init): Define.
|
||||
(set_endian, set_architecture, set_gdbarch_from_file)
|
||||
(initialize_current_architecture): Use gdbarch_info_init.
|
||||
* rs6000-nat.c (set_host_arch): Ditto.
|
||||
* cris-tdep.c (cris_version_update, cris_mode_update)
|
||||
(cris_abi_update): Ditto.
|
||||
|
||||
2001-12-19 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
* c-lang.c (c_emit_char): Print ASCII 11 as '\v', to match
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#include "defs.h"
|
||||
|
||||
#if GDB_MULTI_ARCH
|
||||
#include "arch-utils.h"
|
||||
#include "gdbcmd.h"
|
||||
#include "inferior.h" /* enum CALL_DUMMY_LOCATION et.al. */
|
||||
#else
|
||||
|
@ -466,7 +467,7 @@ set_endian (char *ignore_args, int from_tty, struct cmd_list_element *c)
|
|||
if (GDB_MULTI_ARCH)
|
||||
{
|
||||
struct gdbarch_info info;
|
||||
memset (&info, 0, sizeof info);
|
||||
gdbarch_info_init (&info);
|
||||
info.byte_order = BFD_ENDIAN_LITTLE;
|
||||
if (! gdbarch_update_p (info))
|
||||
{
|
||||
|
@ -484,7 +485,7 @@ set_endian (char *ignore_args, int from_tty, struct cmd_list_element *c)
|
|||
if (GDB_MULTI_ARCH)
|
||||
{
|
||||
struct gdbarch_info info;
|
||||
memset (&info, 0, sizeof info);
|
||||
gdbarch_info_init (&info);
|
||||
info.byte_order = BIG_ENDIAN;
|
||||
if (! gdbarch_update_p (info))
|
||||
{
|
||||
|
@ -663,7 +664,7 @@ set_architecture (char *ignore_args, int from_tty, struct cmd_list_element *c)
|
|||
else if (GDB_MULTI_ARCH)
|
||||
{
|
||||
struct gdbarch_info info;
|
||||
memset (&info, 0, sizeof info);
|
||||
gdbarch_info_init (&info);
|
||||
info.bfd_arch_info = bfd_scan_arch (set_architecture_string);
|
||||
if (info.bfd_arch_info == NULL)
|
||||
internal_error (__FILE__, __LINE__,
|
||||
|
@ -695,7 +696,7 @@ set_gdbarch_from_file (bfd *abfd)
|
|||
if (GDB_MULTI_ARCH)
|
||||
{
|
||||
struct gdbarch_info info;
|
||||
memset (&info, 0, sizeof info);
|
||||
gdbarch_info_init (&info);
|
||||
info.abfd = abfd;
|
||||
if (! gdbarch_update_p (info))
|
||||
error ("Architecture of file not recognized.\n");
|
||||
|
@ -732,7 +733,7 @@ initialize_current_architecture (void)
|
|||
|
||||
/* determine a default architecture and byte order. */
|
||||
struct gdbarch_info info;
|
||||
memset (&info, 0, sizeof (info));
|
||||
gdbarch_info_init (&info);
|
||||
|
||||
/* Find a default architecture. */
|
||||
if (info.bfd_arch_info == NULL
|
||||
|
@ -831,6 +832,18 @@ initialize_current_architecture (void)
|
|||
}
|
||||
|
||||
|
||||
/* Initialize a gdbarch info to values that will be automatically
|
||||
overridden. Note: Originally, this ``struct info'' was initialized
|
||||
using memset(0). Unfortunatly, that ran into problems, namely
|
||||
BFD_ENDIAN_BIG is zero. An explicit initialization function that
|
||||
can explicitly set each field to a well defined value is used. */
|
||||
|
||||
void
|
||||
gdbarch_info_init (struct gdbarch_info *info)
|
||||
{
|
||||
memset (info, 0, sizeof (struct gdbarch_info));
|
||||
}
|
||||
|
||||
/* */
|
||||
|
||||
extern initialize_file_ftype _initialize_gdbarch_utils;
|
||||
|
|
|
@ -146,4 +146,8 @@ extern int generic_register_raw_size (int regnum);
|
|||
|
||||
extern int generic_register_virtual_size (int regnum);
|
||||
|
||||
/* Initialize a ``struct info''. Can't use memset(0) since some
|
||||
default values are not zero. */
|
||||
extern void gdbarch_info_init (struct gdbarch_info *info);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -3615,7 +3615,7 @@ cris_version_update (char *ignore_args, int from_tty,
|
|||
usr_cmd_cris_version_valid = 1;
|
||||
|
||||
/* Update the current architecture, if needed. */
|
||||
memset (&info, 0, sizeof info);
|
||||
gdbarch_info_init (&info);
|
||||
if (!gdbarch_update_p (info))
|
||||
internal_error (__FILE__, __LINE__, "cris_gdbarch_update: failed to update architecture.");
|
||||
}
|
||||
|
@ -3633,7 +3633,7 @@ cris_mode_update (char *ignore_args, int from_tty,
|
|||
usr_cmd_cris_mode_valid = 1;
|
||||
|
||||
/* Update the current architecture, if needed. */
|
||||
memset (&info, 0, sizeof info);
|
||||
gdbarch_info_init (&info);
|
||||
if (!gdbarch_update_p (info))
|
||||
internal_error (__FILE__, __LINE__, "cris_gdbarch_update: failed to update architecture.");
|
||||
}
|
||||
|
@ -3651,7 +3651,7 @@ cris_abi_update (char *ignore_args, int from_tty,
|
|||
usr_cmd_cris_abi_valid = 1;
|
||||
|
||||
/* Update the current architecture, if needed. */
|
||||
memset (&info, 0, sizeof info);
|
||||
gdbarch_info_init (&info);
|
||||
if (!gdbarch_update_p (info))
|
||||
internal_error (__FILE__, __LINE__, "cris_gdbarch_update: failed to update architecture.");
|
||||
}
|
||||
|
|
|
@ -926,7 +926,7 @@ set_host_arch (int pid)
|
|||
}
|
||||
bfd_default_set_arch_mach (&abfd, arch, mach);
|
||||
|
||||
memset (&info, 0, sizeof info);
|
||||
gdbarch_info_init (&info);
|
||||
info.bfd_arch_info = bfd_get_arch_info (&abfd);
|
||||
|
||||
if (!gdbarch_update_p (info))
|
||||
|
|
Loading…
Reference in a new issue