From owner-svn-src-projects@FreeBSD.ORG Sun Oct 20 14:52:14 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id F12B7DB7; Sun, 20 Oct 2013 14:52:14 +0000 (UTC) (envelope-from andrew@FreeBSD.org) 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)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C57D02C64; Sun, 20 Oct 2013 14:52:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r9KEqEdp070246; Sun, 20 Oct 2013 14:52:14 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r9KEqEN7070245; Sun, 20 Oct 2013 14:52:14 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201310201452.r9KEqEN7070245@svn.freebsd.org> From: Andrew Turner Date: Sun, 20 Oct 2013 14:52:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r256789 - projects/arm_eabi_vfp/lib/libc/arm/aeabi X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Oct 2013 14:52:15 -0000 Author: andrew Date: Sun Oct 20 14:52:14 2013 New Revision: 256789 URL: http://svnweb.freebsd.org/changeset/base/256789 Log: The ARM EABI Run-time ABI defines the __aeabi_* floating-point functions to pass their values in the integer registers. Update the hard-float version of the functions to do this. Modified: projects/arm_eabi_vfp/lib/libc/arm/aeabi/aeabi_vfp.h Modified: projects/arm_eabi_vfp/lib/libc/arm/aeabi/aeabi_vfp.h ============================================================================== --- projects/arm_eabi_vfp/lib/libc/arm/aeabi/aeabi_vfp.h Sun Oct 20 14:01:09 2013 (r256788) +++ projects/arm_eabi_vfp/lib/libc/arm/aeabi/aeabi_vfp.h Sun Oct 20 14:52:14 2013 (r256789) @@ -29,14 +29,18 @@ #define AEABI_VFP_H /* - * ASM helper macros. These allow the functions to be changed when - * building for a hard-float version of the ABI. + * ASM helper macros. These allow the functions to be changed depending on + * the endian-ness we are building for. */ +/* Allow the name of the function to be changed depending on the ABI */ #ifndef __ARM_PCS_VFP -/* Define a standard name for the function */ #define AEABI_ENTRY(x) ENTRY(__aeabi_ ## x ## _softfp) #define AEABI_END(x) END(__aeabi_ ## x ## _softfp) +#else +#define AEABI_ENTRY(x) ENTRY(__aeabi_ ## x) +#define AEABI_END(x) END(__aeabi_ ## x) +#endif /* * These should be used when a function either takes, or returns a floating @@ -54,21 +58,6 @@ #define LOAD_SREGS(vreg0, vreg1, reg0, reg1) vmov vreg0, vreg1, reg0, reg1 #define LOAD_SREG(vreg, reg) vmov vreg, reg #define UNLOAD_SREG(reg, vreg) vmov reg, vreg -#else -#define AEABI_ENTRY(x) ENTRY(__aeabi_ ## x) -#define AEABI_END(x) END(__aeabi_ ## x) - -/* - * On ARM Hard-Float we don't need these as the data - * is already in the VFP registers. - */ -#define LOAD_DREG(vreg, reg0, reg1) -#define UNLOAD_DREG(reg0, reg1, vreg) - -#define LOAD_SREGS(vreg0, vreg1, reg0, reg1) -#define LOAD_SREG(vreg, reg) -#define UNLOAD_SREG(reg, vreg) -#endif /* * C Helper macros