summaryrefslogtreecommitdiff
path: root/bfd/elfxx-mips.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elfxx-mips.c')
-rw-r--r--bfd/elfxx-mips.c38
1 files changed, 13 insertions, 25 deletions
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 72516f71f1c..0c3a5d96fca 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -542,7 +542,7 @@ static bfd *reldyn_sorting_bfd;
/* The default alignment for sections, as a power of two. */
#define MIPS_ELF_LOG_FILE_ALIGN(abfd) \
- (get_elf_backend_data (abfd)->s->log_file_align)
+ (get_elf_backend_data (abfd)->s->file_align == 8 ? 3 : 2)
/* Get word-sized data. */
#define MIPS_ELF_GET_WORD(abfd, ptr) \
@@ -5106,10 +5106,10 @@ _bfd_mips_elf_check_relocs (abfd, info, sec, relocs)
sizeof CALL_FP_STUB - 1) == 0)
continue;
- sec_relocs
- = _bfd_elf_link_read_relocs (abfd, o, (PTR) NULL,
- (Elf_Internal_Rela *) NULL,
- info->keep_memory);
+ sec_relocs = (MNAME(abfd,_bfd_elf,link_read_relocs)
+ (abfd, o, (PTR) NULL,
+ (Elf_Internal_Rela *) NULL,
+ info->keep_memory));
if (sec_relocs == NULL)
return FALSE;
@@ -5561,9 +5561,9 @@ _bfd_mips_relax_section (abfd, sec, link_info, again)
if (link_info->relocateable)
return TRUE;
- internal_relocs = _bfd_elf_link_read_relocs (abfd, sec, (PTR) NULL,
- (Elf_Internal_Rela *) NULL,
- link_info->keep_memory);
+ internal_relocs = (MNAME(abfd,_bfd_elf,link_read_relocs)
+ (abfd, sec, (PTR) NULL, (Elf_Internal_Rela *) NULL,
+ link_info->keep_memory));
if (internal_relocs == NULL)
return TRUE;
@@ -7887,9 +7887,10 @@ _bfd_mips_elf_discard_info (abfd, cookie, info)
if (! tdata)
return FALSE;
- cookie->rels = _bfd_elf_link_read_relocs (abfd, o, (PTR) NULL,
- (Elf_Internal_Rela *) NULL,
- info->keep_memory);
+ cookie->rels = (MNAME(abfd,_bfd_elf,link_read_relocs)
+ (abfd, o, (PTR) NULL,
+ (Elf_Internal_Rela *) NULL,
+ info->keep_memory));
if (!cookie->rels)
{
free (tdata);
@@ -9173,25 +9174,12 @@ _bfd_mips_elf_merge_private_bfd_data (ibfd, obfd)
/* Check if we have the same endianess */
if (! _bfd_generic_verify_endian_match (ibfd, obfd))
- {
- (*_bfd_error_handler)
- (_("%s: endianness incompatible with that of the selected emulation"),
- bfd_archive_filename (ibfd));
- return FALSE;
- }
+ return FALSE;
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
return TRUE;
- if (strcmp (bfd_get_target (ibfd), bfd_get_target (obfd)) != 0)
- {
- (*_bfd_error_handler)
- (_("%s: ABI is incompatible with that of the selected emulation"),
- bfd_archive_filename (ibfd));
- return FALSE;
- }
-
new_flags = elf_elfheader (ibfd)->e_flags;
elf_elfheader (obfd)->e_flags |= new_flags & EF_MIPS_NOREORDER;
old_flags = elf_elfheader (obfd)->e_flags;