libc: Remove empty comments in Symbol.mapThese were left over from $FreeBSD$ removal.Reviewed by: emasteDifferential Revision: https://reviews.freebsd.org/D42612(cherry picked from commit 1ca6
libc: Remove empty comments in Symbol.mapThese were left over from $FreeBSD$ removal.Reviewed by: emasteDifferential Revision: https://reviews.freebsd.org/D42612(cherry picked from commit 1ca63a8219b88b752b064d19bd3428c61dbcf1f9)
show more ...
libc: Purge unneeded cdefs.hThese sys/cdefs.h are not needed. Purge them. They are mostly left-overfrom the $FreeBSD$ removal. A few in libc are still required for macrosthat cdefs.h defines. Kee
libc: Purge unneeded cdefs.hThese sys/cdefs.h are not needed. Purge them. They are mostly left-overfrom the $FreeBSD$ removal. A few in libc are still required for macrosthat cdefs.h defines. Keep those.Sponsored by: NetflixDifferential Revision: https://reviews.freebsd.org/D42385(cherry picked from commit 559a218c9b257775fb249b67945fe4a05b7a6b9f)
Remove $FreeBSD$: one-line sh patternRemove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
Remove $FreeBSD$: one-line .c patternRemove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
Remove $FreeBSD$: one-line .h patternRemove /^\s*\*+\s*\$FreeBSD\$.*$\n/
Remove $FreeBSD$: two-line .h patternRemove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDThe SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catchup to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDThe SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catchup to that fact and revert to their recommended match of BSD-2-Clause.Discussed with: pfgMFC After: 3 daysSponsored by: Netflix
libc: Simplify soft-float on 32-bit armSimplify the tests for 32-bit arm soft float support. For the filesincluded only on arm, drop the test entirely. For others, testMACHINE_CPUARCH against arm
libc: Simplify soft-float on 32-bit armSimplify the tests for 32-bit arm soft float support. For the filesincluded only on arm, drop the test entirely. For others, testMACHINE_CPUARCH against arm.No functional change intended. File lists appear the same before / afterthe change.Sponsored by: NetflixReviewed by: emasteDifferential Revision: https://reviews.freebsd.org/D38582
Move all sources from the llvm project into contrib/llvm-project.This uses the new layout of the upstream repository, which was recentlymigrated to GitHub, and converted into a "monorepo". That i
Move all sources from the llvm project into contrib/llvm-project.This uses the new layout of the upstream repository, which was recentlymigrated to GitHub, and converted into a "monorepo". That is, most ofthe earlier separate sub-projects with their own branches and tags wereconsolidated into one top-level directory, and are now branched andtagged together.Updating the vendor area to match this layout is next.
armv6 soft float build fixedAdd ifdefs in the assembler for soft-float compile case.Submitted by: Hiroki MoriReviewed by: ray@Differential Review: https://reviews.freebsd.org/D22352
libc: further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using mis-identified many licenses so this was mostly a manual - errorp
libc: further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using mis-identified many licenses so this was mostly a manual - errorprone - task.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier for automated tools to detect and summarize well knownopensource licenses. We are gradually adopting the specification, notingthat the tags are considered only advisory and do not, in any way,superceed or replace the license texts.
Support armv7 builds for userlandMake armv7 as a new MACHINE_ARCH.Copy all the places we do armv6 and add armv7 as basically analias. clang appears to generate code for armv7 by default. armv7 h
Support armv7 builds for userlandMake armv7 as a new MACHINE_ARCH.Copy all the places we do armv6 and add armv7 as basically analias. clang appears to generate code for armv7 by default. armv7 hardfloat isn't supported by the the in-tree gcc, so it hasn't beenupdated to have a new default.Support armv7 as a new valid MACHINE_ARCH (and by extensionTARGET_ARCH).Add armv7 to the universe build.Differential Revision: https://reviews.freebsd.org/D12010
Publish __aeabi_uidiv and __aeabi_idiv as compatible symbols from libc.Due to bug[1] in libcompiler_rt, all symbols declared byDEFINE_AEABI_FUNCTION_ALIAS() are not hidden. All these but twoare e
Publish __aeabi_uidiv and __aeabi_idiv as compatible symbols from libc.Due to bug[1] in libcompiler_rt, all symbols declared byDEFINE_AEABI_FUNCTION_ALIAS() are not hidden. All these but twoare explicitly exported from libc and don't causes problems.Remaining two, __aeabi_uidiv and __aeabi_idiv, infecting allnon-versioned shared libraries. And these symbols are consumedby many (if not all) packages[2].As workaround, export these from libc as compatible symbols,in global namespace. With this, these are still visible forrtld, but static linker doesn't use then.[1]DEFINE_AEABI_FUNCTION_ALIAS() macro uses '.set' directive fordeclaration of aliased symbol. Unfortunately, '.set' doesn'tinherit visibility of base symbol, and macro don't explicitlysets visibility for aliased one.[2]Given symbols are exported from non-versioned libraries only iflibrary itself uses them. So, if world is built for CPU withHW divide, these function are not used and given symbols arenot exported. By this, contents of these libraries is not stable,and all packages fails to run.Note: Due to r313823 I'm forced to commit this too early, withoutleave enough time for proper review.MFC after: 1 monthDifferential Revision: https://reviews.freebsd.org/D9632
Replace dot-dot relative pathing with SRCTOP-relative paths where possibleThis reduces build output, need for recalculating paths, and makes it clearerwhich paths are relative to what areas in the
Replace dot-dot relative pathing with SRCTOP-relative paths where possibleThis reduces build output, need for recalculating paths, and makes it clearerwhich paths are relative to what areas in the source tree. The change inperformance over a locally mounted UFS filesystem was negligible in my testing,but this may more positively impact other filesystems like NFS.LIBC_SRCTOP was left alone so Juniper (and other users) can continue tomanipulate lib/libc/Makefile (and other Makefile.inc's under lib/libc) asinclude Makefiles with custom options.Discussed with: marcel, sjgMFC after: 1 weekReviewed by: emasteSponsored by: Dell EMC IsilonDifferential Revision: https://reviews.freebsd.org/D9207
Make armv6 hard float abi by default. Kill armv6hf.Allow CPUTYPE=soft to build the current soft-float abi libraries.Add UPDATING entry to announce this.Approved by: re@ (gjb)
Revert a change that sneeked with 297619
Disable support for compat syscalls on arm64. These symbols were nevershipped since arm64 exists only on 11+.Submitted by: brooksReviewed by: emaste, imp
Annotate arm userspace assembler sources stating their tolerance tothe non-executable stack.Reviewed by: andrewSponsored by: The FreeBSD Foundation
Export the ARM __aeabi_mem* functions from libc, they are needed by the gccfrom ports as it doesn't include these in the copy of libgcc it installsuses.Obtained from: ABT Systems Ltd
Use a register to set the cpsr bits. The ip register is safe to be changedwithin all of these functions, and is only stored in some to correctly padthe stack.This will be needed to build as Thumb
Use a register to set the cpsr bits. The ip register is safe to be changedwithin all of these functions, and is only stored in some to correctly padthe stack.This will be needed to build as Thumb-2 as, unlike with ARM instructions,the msr instruction only takes a register as the input.
Teach bits of libc about Thumb. This adds the if-then instructions neededto handle the ARM conditional execution.While here fix a bug found by this in the hard-float code, cc is theopposite of cs
Teach bits of libc about Thumb. This adds the if-then instructions neededto handle the ARM conditional execution.While here fix a bug found by this in the hard-float code, cc is theopposite of cs. The former is used for 'less than' in floating-point codeand is executed when the C (carry) bit is clear, the latter is used whengreater than, equal, or unordered, and is executed when the C bit is set.
Apparently more Makefiles use stuff from compiler-rt, so fix them uptoo. (This did not show during a make universe, strangely.)
Add support for the __aeabi_c*cmp* functions. These are similar to theexisting functions with the exception they use the condition flags tostore the result.Differential Revision: https://reviews.
Add support for the __aeabi_c*cmp* functions. These are similar to theexisting functions with the exception they use the condition flags tostore the result.Differential Revision: https://reviews.freebsd.org/D872Silence from: current@ and numerics@MFC after: 1 week
Clean up detection of hard-float ABIs. As with big-endian in r272368 wecan check against arm*hf*.
From https://sourceware.org/ml/newlib/2014/msg00113.htmlBy 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 feature
From https://sourceware.org/ml/newlib/2014/msg00113.htmlBy 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 thecouple of places in tree. clang already implements ACLE. Add a definethat says we implement version 1.1, even though the implementationisn't quite complete.
12