From owner-svn-src-all@FreeBSD.ORG Fri Apr 3 19:33:29 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EC53F58F; Fri, 3 Apr 2015 19:33:28 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CE2698CE; Fri, 3 Apr 2015 19:33:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t33JXSk4043093; Fri, 3 Apr 2015 19:33:28 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t33JXRFI043090; Fri, 3 Apr 2015 19:33:27 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201504031933.t33JXRFI043090@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 3 Apr 2015 19:33:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r281048 - in head/contrib/binutils: bfd include/elf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Apr 2015 19:33:29 -0000 Author: andrew Date: Fri Apr 3 19:33:26 2015 New Revision: 281048 URL: https://svnweb.freebsd.org/changeset/base/281048 Log: More ARM EABI object attributes in binutils. This adds support to binutils to include the Unaligned Access and Floating-point Half-precision attributes. the former marks ELF objects that may access ARMv6 style unaligned data, the latter that the binary uses the VFPv3/Advanced SIMD half-precision extension. These may be emmitted by clang so it's best to print a warning when the linker hits one of them. Differential Revision: http://reviews.freebsd.org/D2194 Submitted by: Michal Meloun MFC after: 1 week Modified: head/contrib/binutils/bfd/elf-bfd.h head/contrib/binutils/bfd/elf32-arm.c head/contrib/binutils/include/elf/arm.h Modified: head/contrib/binutils/bfd/elf-bfd.h ============================================================================== --- head/contrib/binutils/bfd/elf-bfd.h Fri Apr 3 18:42:38 2015 (r281047) +++ head/contrib/binutils/bfd/elf-bfd.h Fri Apr 3 19:33:26 2015 (r281048) @@ -1286,7 +1286,7 @@ struct elf_find_verdep_info }; /* The maximum number of known object attributes for any target. */ -#define NUM_KNOWN_OBJ_ATTRIBUTES 32 +#define NUM_KNOWN_OBJ_ATTRIBUTES 71 /* The value of an object attribute. type & 1 indicates whether there is an integer value; type & 2 indicates whether there is a string Modified: head/contrib/binutils/bfd/elf32-arm.c ============================================================================== --- head/contrib/binutils/bfd/elf32-arm.c Fri Apr 3 18:42:38 2015 (r281047) +++ head/contrib/binutils/bfd/elf32-arm.c Fri Apr 3 19:33:26 2015 (r281048) @@ -6835,6 +6835,8 @@ elf32_arm_merge_eabi_attributes (bfd *ib case Tag_ABI_FP_number_model: case Tag_ABI_align8_preserved: case Tag_ABI_HardFP_use: + case Tag_CPU_unaligned_access: + case Tag_FP_HP_extension: /* Use the largest value specified. */ if (in_attr[i].i > out_attr[i].i) out_attr[i].i = in_attr[i].i; @@ -6951,7 +6953,9 @@ elf32_arm_merge_eabi_attributes (bfd *ib } break; default: /* All known attributes should be explicitly covered. */ - abort (); + /* XXX Not now */ + /* abort (); */ + break; } } Modified: head/contrib/binutils/include/elf/arm.h ============================================================================== --- head/contrib/binutils/include/elf/arm.h Fri Apr 3 18:42:38 2015 (r281047) +++ head/contrib/binutils/include/elf/arm.h Fri Apr 3 19:33:26 2015 (r281048) @@ -271,7 +271,11 @@ enum Tag_ABI_optimization_goals, Tag_ABI_FP_optimization_goals, /* 32 is generic. */ - + Tag_CPU_unaligned_access = 34, + Tag_FP_HP_extension = 36, + Tag_ABI_FP_16bit_format = 38, + Tag_MPextension_use = 42, + Tag_DIV_use = 44, Tag_Virtualization_use = 68, };