Date: Sun, 3 May 2015 22:51:42 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r282380 - head/contrib/binutils/bfd Message-ID: <201505032251.t43MpgTl071857@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505032251.t43MpgTl071857>