diff options
author | Gavin Romig-Koch <gavin@redhat.com> | 1998-12-15 14:10:46 +0000 |
---|---|---|
committer | Gavin Romig-Koch <gavin@redhat.com> | 1998-12-15 14:10:46 +0000 |
commit | 02650bd0a97e811838a207da56505e16f1209ae9 (patch) | |
tree | 398f4e5620b0cf6c712d3d061566f1e2169968f0 /include | |
parent | 759181e384bb9bda3b8f0219384d42866474ef49 (diff) | |
download | gdb-02650bd0a97e811838a207da56505e16f1209ae9.zip gdb-02650bd0a97e811838a207da56505e16f1209ae9.tar.gz gdb-02650bd0a97e811838a207da56505e16f1209ae9.tar.bz2 |
This adds ABI flags to MIPS/ELF object files.
For bfd:
* elf32-mips.c (elf_mips_abi_name): New.
(_bfd_mips_elf_merge_private_bfd_data): Compare EF_MIPS_ABI flags.
For gas:
* config/tc-mips.c (mips_abi_string): New.
(md_parse_option,md_longopts): Add mabi.
(mips_elf_final_processing): Set e_flags based on mabi flag.
For gcc:
* config/mips/mips.h (GAS_ASM_SPEC): Pass mabi to gas.
(ABI_GAS_ASM_SPEC,abi_gas_asm_spec): New.
(EXTRA_SPECS): Added ABI_GAS_ASM_SPEC,abi_gas_asm_spec.
For include/elf:
* mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64,
E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64):
Diffstat (limited to 'include')
-rw-r--r-- | include/elf/ChangeLog | 5 | ||||
-rw-r--r-- | include/elf/mips.h | 16 |
2 files changed, 21 insertions, 0 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index d00a8ee..8501c79 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,8 @@ +1998-12-15 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64, + E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64): + start-sanitize-vr4xxx 1998-12-13 Gavin Romig-Koch <gavin@cygnus.com> diff --git a/include/elf/mips.h b/include/elf/mips.h index a895d59..6d3816e 100644 --- a/include/elf/mips.h +++ b/include/elf/mips.h @@ -121,6 +121,22 @@ END_RELOC_NUMBERS /* -mips4 code. */ #define E_MIPS_ARCH_4 0x30000000 +/* The ABI of the file. Also see EF_MIPS_ABI2 above. */ +#define EF_MIPS_ABI 0x0000F000 + +/* The original o32 abi. */ +#define E_MIPS_ABI_O32 0x00001000 + +/* O32 extended to work on 64 bit architectures */ +#define E_MIPS_ABI_O64 0x00002000 + +/* EABI in 32 bit mode */ +#define E_MIPS_ABI_EABI32 0x00003000 + +/* EABI in 64 bit mode */ +#define E_MIPS_ABI_EABI64 0x00004000 + + /* Machine variant if we know it. This field was invented at Cygnus, but it is hoped that other vendors will adopt it. If some standard is developed, this code should be changed to follow it. */ |