diff options
author | Mark Kettenis <kettenis@gnu.org> | 2002-05-09 13:53:36 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2002-05-09 13:53:36 +0000 |
commit | 3ce1502b874a327cac9143b69c6912856deaaa28 (patch) | |
tree | 900d6b6239725841747c02b3f0b5701502ddd3c2 /gdb/i386-tdep.h | |
parent | cc8a6dd09b7219289b0ceac611fc095fcde68153 (diff) | |
download | gdb-3ce1502b874a327cac9143b69c6912856deaaa28.zip gdb-3ce1502b874a327cac9143b69c6912856deaaa28.tar.gz gdb-3ce1502b874a327cac9143b69c6912856deaaa28.tar.bz2 |
* i386-tdep.h (i386_abi): New enum.
(struct gdbarch_tdep): Replace os_ident member with abi.
(i386_gdbarch_register_os_abi): New prototype.
* i386-tdep.c (i386_abi_names): New array.
(process_note_abi_tag_sections): Removed.
(process_note_sections): New function.
(i386_elf_abi_from_note, i386_elf_abi): New functions.
(struct i386_abi_handler): New struct.
(i386_abi_handler_list): New variable.
(i386_gdbarch_register_os_abi): New function.
(i386_gdbarch_init): Adapt for the changes given above.
Diffstat (limited to 'gdb/i386-tdep.h')
-rw-r--r-- | gdb/i386-tdep.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h index a990adf..0bdbb05 100644 --- a/gdb/i386-tdep.h +++ b/gdb/i386-tdep.h @@ -40,11 +40,27 @@ differs and is determined by the num_xmm_regs member of `struct gdbarch_tdep'. */ +/* ABI variants that we know about. */ +enum i386_abi +{ + I386_ABI_UNKNOWN = 0, + + /* ELF */ + I386_ABI_SVR4, /* This is the default. */ + I386_ABI_NETBSD, + I386_ABI_LINUX, + I386_ABI_HURD, + I386_ABI_SOLARIS, + I386_ABI_FREEBSD, + + I386_ABI_INVALID = -1 +}; + /* i386 architecture specific information. */ struct gdbarch_tdep { - /* OS/ABI. */ - int os_ident; + /* ABI. */ + enum i386_abi abi; /* Number of SSE registers. */ int num_xmm_regs; @@ -113,4 +129,8 @@ struct gdbarch_tdep #define IS_FPU_CTRL_REGNUM(n) FPC_REGNUM_P (n) #define IS_SSE_REGNUM(n) SSE_REGNUM_P (n) +void i386_gdbarch_register_os_abi (enum i386_abi, + void (*init_abi)(struct gdbarch_info, + struct gdbarch *)); + #endif /* i386-tdep.h */ |