svn commit: r282380 - head/contrib/binutils/bfd
Warner Losh
imp at FreeBSD.org
Sun May 3 22:51:43 UTC 2015
Author: imp
Date: Sun May 3 22:51:42 2015
New Revision: 282380
URL: https://svnweb.freebsd.org/changeset/base/282380
Log:
For eabi 5 (what FreeBSD uses), be sure to tag all executables and
shared libraries as either SOFT or HARD float to comply with the EABI
standard.
Differential Revision: https://reviews.freebsd.org/D2401
Modified:
head/contrib/binutils/bfd/elf32-arm.c
Modified: head/contrib/binutils/bfd/elf32-arm.c
==============================================================================
--- head/contrib/binutils/bfd/elf32-arm.c Sun May 3 22:51:29 2015 (r282379)
+++ head/contrib/binutils/bfd/elf32-arm.c Sun May 3 22:51:42 2015 (r282380)
@@ -9372,6 +9372,16 @@ elf32_arm_post_process_headers (bfd * ab
if (globals->byteswap_code)
i_ehdrp->e_flags |= EF_ARM_BE8;
}
+
+ /*
+ * For EABI 5, we have to tag dynamic binaries and execs as either
+ * soft float or hard float.
+ */
+ if (EF_ARM_EABI_VERSION (i_ehdrp->e_flags) == EF_ARM_EABI_VER5 &&
+ (i_ehdrp->e_type == ET_DYN || i_ehdrp->e_type == ET_EXEC))
+ i_ehdrp->e_flags |=
+ bfd_elf_get_obj_attr_int (abfd, OBJ_ATTR_PROC, Tag_ABI_VFP_args) ?
+ EF_ARM_VFP_FLOAT : EF_ARM_SOFT_FLOAT;
}
static enum elf_reloc_type_class
More information about the svn-src-all
mailing list