aboutsummaryrefslogtreecommitdiff
path: root/lib/msun/arm
Commit message (Collapse)AuthorAgeFilesLines
* arm: fix build after _types.h changesBrooks Davis2025-06-121-0/+1
| | | | | Reported by: alc Fixes: b01e971fd39d ("Don't rely on sys/_types.h including sys/cdefs.h")
* Remove residual blank line at start of MakefileWarner Losh2024-07-151-1/+0
| | | | | | | This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
* lib: Remove __ARM_ARCH checks that are always trueAndrew Turner2024-06-121-5/+1
| | | | | Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D45559
* Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* Remove $FreeBSD$: one-line .h patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
* Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-165-10/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDWarner Losh2023-05-122-2/+2
| | | | | | | | | The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
* libc: Simplify soft-float on 32-bit armWarner Losh2023-02-141-1/+1
| | | | | | | | | | | | | Simplify the tests for 32-bit arm soft float support. For the files included only on arm, drop the test entirely. For others, test MACHINE_CPUARCH against arm. No functional change intended. File lists appear the same before / after the change. Sponsored by: Netflix Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38582
* lib: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-262-0/+4
| | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using mis-identified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326219
* Support armv7 builds for userlandWarner Losh2017-10-051-1/+1
| | | | | | | | | | | | | | | | | | | Make armv7 as a new MACHINE_ARCH. Copy all the places we do armv6 and add armv7 as basically an alias. clang appears to generate code for armv7 by default. armv7 hard float isn't supported by the the in-tree gcc, so it hasn't been updated to have a new default. Support armv7 as a new valid MACHINE_ARCH (and by extension TARGET_ARCH). Add armv7 to the universe build. Differential Revision: https://reviews.freebsd.org/D12010 Notes: svn path=/head/; revision=324340
* libm: remove duplicate version script entriesEd Maste2016-11-291-5/+0
| | | | | | | | | | | | | These symbols already appear in the common lib/msun/Symbol.map. Duplicate entries produce an error with LLVM's LLD linker. Reviewed by: br MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D8627 Notes: svn path=/head/; revision=309298
* Make armv6 hard float abi by default. Kill armv6hf.Warner Losh2016-05-182-2/+4
| | | | | | | | | | Allow CPUTYPE=soft to build the current soft-float abi libraries. Add UPDATING entry to announce this. Approved by: re@ (gjb) Notes: svn path=/head/; revision=300119
* Implement (ACFLAGS|CFLAGS|CXXFLAGS).SRC globally.Bryan Drewery2016-03-261-2/+0
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=297283
* Fix compilation when the armv6 world is being compiled without hw floatingIan Lepore2015-06-241-1/+1
| | | | | | | | | point support. The fenv-vfp.c file overrides -mfloat-abi so it can use floating point instructions if it detects support at runtime. Make it also override -mfpu in case the user has set -mfpu=none. Notes: svn path=/head/; revision=284772
* From https://sourceware.org/ml/newlib/2014/msg00113.htmlWarner Losh2014-08-141-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By Richard Earnshaw at ARM > >GCC has for a number of years provides a set of pre-defined macros for >use with determining the ISA and features of the target during >pre-processing. However, the design was always somewhat cumbersome in >that each new architecture revision created a new define and then >removed the previous one. This meant that it was necessary to keep >updating the support code simply to recognise a new architecture being >added. > >The ACLE specification (ARM C Language Extentions) >(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.set.swdev/index.html) >provides a much more suitable interface and GCC has supported this >since gcc-4.8. > >This patch makes use of the ACLE pre-defines to map to the internal >feature definitions. To support older versions of GCC a compatibility >header is provided that maps the traditional pre-defines onto the new >ACLE ones. Stop using __FreeBSD_ARCH_armv6__ and switch to __ARM_ARCH >= 6 in the couple of places in tree. clang already implements ACLE. Add a define that says we implement version 1.1, even though the implementation isn't quite complete. Notes: svn path=/head/; revision=269956
* Only build the vfp/softfp switching code on armv6 as we don't support vfpAndrew Turner2014-03-161-1/+5
| | | | | | | | on anything earlier than this. This should fix the armeb and arm builds when using gcc. Notes: svn path=/head/; revision=263231
* Build fenv-vfp.c with the softfp float abi. Without this gcc generates anAndrew Turner2014-03-161-0/+3
| | | | | | | incorrect assembly file that doesn't allow for vfp instructions. Notes: svn path=/head/; revision=263230
* On armv6 access both the softfloat and, when available, the vfp to get andAndrew Turner2014-03-157-10/+391
| | | | | | | set the floating-point environment. Notes: svn path=/head/; revision=263210
* * Mark static inline functions with __fenv_static.Andrew Turner2014-01-251-7/+11
| | | | | | | * Correctly shift the mask when masking/unmasking exceptions. Notes: svn path=/head/; revision=261163
* Update the hard-float version of the fenv functions to use the VFP unit.Andrew Turner2013-10-271-36/+53
| | | | | | | Any other floating-point unit is unsupported on ARM. Notes: svn path=/head/; revision=257207
* Add a change I missed in r230367 (don't inline arm's fenv.h functions).David Schultz2012-01-201-1/+0
| | | | Notes: svn path=/head/; revision=230370
* Don't inline fenv.h functions on arm for now. Inlining makes sense:David Schultz2012-01-203-13/+31
| | | | | | | | | | | the function bodies require only 2 to 10 instructions. However, it leads to application binaries that refer to a private ABI, namely, the softfloat innards in libc. This could complicate future changes in the implementation of the floating-point emulation layer, so it seems best to have programs refer to the official fe* entry points in libm. Notes: svn path=/head/; revision=230367
* Add an implementation of fenv.h intended for platforms that lack an FPU andDavid Schultz2012-01-162-5/+20
| | | | | | | | | | use softfloat. Thanks to Ian Lepore for testing and debugging this patch. The fenv regression tests pass (at least for Ian's arm chip) with this change. Notes: svn path=/head/; revision=230192
* Use #include "fenv.h" instead of #include <fenv.h>. This makes itDavid Schultz2011-10-161-1/+1
| | | | | | | | | more convenient to compile the math library by itself. Requested by: bde Notes: svn path=/head/; revision=226415
* Provide external definitions of all of the standardized functions inDavid Schultz2011-10-103-14/+45
| | | | | | | | | | | | | | | | | | | | fenv.h that are currently inlined. The definitions are provided in fenv.c via 'extern inline' declaractions. This assumes the compiler handles 'extern inline' as specified in C99, which has been true under FreeBSD since 8.0. The goal is to eventually remove the 'static' keyword from the inline definitions in fenv.h, so that non-inlined references all wind up pointing to the same external definition like they're supposed to. I am deferring the second step to provide a window where newly-compiled apps will still link against old math libraries. (This isn't supported, but there's no need to cause undue breakage.) Reviewed by: stefanf, bde Notes: svn path=/head/; revision=226218
* Use C comments since we now preprocess these files with CPP.Daniel Eischen2007-04-291-1/+3
| | | | Notes: svn path=/head/; revision=169092
* Add symbol versioning to libm.Daniel Eischen2006-03-272-0/+4
| | | | Notes: svn path=/head/; revision=157196
* Replace fegetmask() and fesetmask() with feenableexcept(),David Schultz2005-03-161-9/+19
| | | | | | | | | | | | | fedisableexcept(), and fegetexcept(). These two sets of routines provide the same functionality. I implemented the former as an undocumented internal interface to make the regression test easier to write. However, fe(enable|disable|get)except() is already part of glibc, and I would like to avoid gratuitous differences. The only major flaw in the glibc API is that there's no good way to report errors on processors that don't support all the unmasked exceptions. Notes: svn path=/head/; revision=143708
* Define the LDBL_PREC to be the number of significant bits in a longDavid Schultz2005-03-071-0/+3
| | | | | | | double's mantissa. Notes: svn path=/head/; revision=143208
* Define FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD, FE_DOWNWARD and _ROUND_MASK toOlivier Houchard2005-01-241-0/+7
| | | | | | | unbreak the build for arm. Notes: svn path=/head/; revision=140689
* Mark all inline asms that read the floating-point control or statusDavid Schultz2005-01-141-1/+1
| | | | | | | | | | registers as volatile. Instructions that *wrote* to FP state were already marked volatile, but apparently gcc has license to move non-volatile asms past volatile asms. This broke amd64's feupdateenv at -O2 due to a WAR conflict between fnstsw and fldenv there. Notes: svn path=/head/; revision=140219
* Only use rfs and wfs if ARM_HARD_FLOAT is defined, and use stubs if it is not,Olivier Houchard2004-08-051-2/+7
| | | | | | | | | in order to unbreak arm make world. The right way to do it with soft floats will be figured out later. Discussed with: das Notes: svn path=/head/; revision=133174
* Add an fenv.h implementation for the arm port.David Schultz2004-06-062-0/+230
It does not appear to be possible to cross-build arm from i386 at the moment, and I have no ARM hardware anyway. Thus, I'm sure there are bugs. I will gladly fix these when the arm port is more mature. Reviewed by: standards@ Notes: svn path=/head/; revision=130143