diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elfn32-mips.c | 19 |
2 files changed, 25 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f628a61..fde334d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2017-10-23 Maciej W. Rozycki <macro@imgtec.com> + + * elfn32-mips.c (mips_elf_n32_mkobject): New prototype and + function. + (bfd_elf32_mkobject): Use `mips_elf_n32_mkobject' rather than + `_bfd_mips_elf_mkobject'. + 2017-10-22 Hans-Peter Nilsson <hp@axis.com> PR gas/22304 diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c index fdae183..9ac2da3 100644 --- a/bfd/elfn32-mips.c +++ b/bfd/elfn32-mips.c @@ -84,6 +84,8 @@ static bfd_boolean elf_n32_mips_grok_freebsd_prstatus (bfd *, Elf_Internal_Note *); static irix_compat_t elf_n32_mips_irix_compat (bfd *); +static bfd_boolean mips_elf_n32_mkobject + (bfd *); extern const bfd_target mips_elf32_n_be_vec; extern const bfd_target mips_elf32_n_le_vec; @@ -3643,6 +3645,21 @@ elf_n32_mips_irix_compat (bfd *abfd) return ict_none; } +/* Make an n32 MIPS object. We need to set the n32 ABI flag in + `e_flags' to tell the object apart from an o32 object. */ + +static bfd_boolean +mips_elf_n32_mkobject (bfd *abfd) +{ + bfd_boolean ret; + + ret = _bfd_mips_elf_mkobject (abfd); + if (ret) + elf_elfheader (abfd)->e_flags |= EF_MIPS_ABI2; + + return ret; +} + /* ECOFF swapping routines. These are used when dealing with the .mdebug section, which is in the ECOFF debugging format. */ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = { @@ -3775,7 +3792,7 @@ static const struct ecoff_debug_swap mips_elf32_ecoff_debug_swap = { #define bfd_elf32_bfd_set_private_flags _bfd_mips_elf_set_private_flags #define bfd_elf32_bfd_print_private_bfd_data \ _bfd_mips_elf_print_private_bfd_data -#define bfd_elf32_mkobject _bfd_mips_elf_mkobject +#define bfd_elf32_mkobject mips_elf_n32_mkobject /* Support for SGI-ish mips targets using n32 ABI. */ |