| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
Remove attempts to use NetBSD __weak_alias macros to export _-prefixed
versions of various fp[sg]et* symbols under softfloat. __weak_alias
isn't defined so we didn't export them and thus the Symbol.map entries
were wrong.
Reviewed by: jhibbits
Differential Revision: https://reviews.freebsd.org/D44327
|
| |
|
|
|
|
|
|
|
| |
These sys/cdefs.h are not needed. Purge them. They are mostly left-over
from the $FreeBSD$ removal. A few in libc are still required for macros
that cdefs.h defines. Keep those.
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D42385
|
| |
|
|
|
|
|
| |
These do not use __FBSDID but instead use bare char arrays.
Reviewed by: imp, emaste
Differential Revision: https://reviews.freebsd.org/D41957
|
| |
|
|
| |
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| |
|
|
| |
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
| |
|
|
| |
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
| |
|
|
|
|
|
|
|
| |
The SPDX folks have obsoleted the BSD-2-Clause-NetBSD 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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
Their uses have been replaced by _tcb_get() and _tcb_set() from
<machine/tls.h>.
Reviewed by: kib, jrtc27
Sponsored by: The University of Cambridge, Google Inc.
Differential Revision: https://reviews.freebsd.org/D33354
|
| |
|
|
|
|
|
|
| |
which returns pointer to tcb
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D29623
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Building R on powerpc64 exposed a problem in fpsetmask() whereby we
were not properly clamping the provided mask to the valid range.
This same issue affects powerpc and powerpcspe.
Properly limit the range of bits that can be set via fpsetmask().
While here, use the correct fp_except_t type instead of fp_rnd_t.
Reported by: pkubaj, jhibbits (in IRC)
Sponsored by: Tag1 Consulting, Inc.
MFC after: 1 week
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Theoretically, this was breaking the size calculation for the symbol.
Noticed when doing a readthrough.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D22525
Notes:
svn path=/head/; revision=355036
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
PowerPC has two PLT models: BSS-PLT and Secure-PLT. BSS-PLT uses runtime
code generation to generate the PLT stubs. Secure-PLT was introduced with
GCC 4.1 and Binutils 2.17 (base has GCC 4.2.1 and Binutils 2.17), and is a
more secure PLT format, using a read-only linkage table, with the dynamic
linker populating a non-executable index table.
This is the libc, rtld, and kernel support only. The toolchain and build
parts will be updated separately.
Reviewed By: nwhitehorn, bdragon, pfg
Differential Revision: https://reviews.freebsd.org/D20598
MFC after: 1 month
Notes:
svn path=/head/; revision=349350
|
| |
|
|
|
|
|
|
|
|
|
|
| |
NCARGS isn't a limit on the number of arguments to pass to a function,
but the number of bytes that can be consumed by arguments to exec. As
such, it is not suitable for a limit on the count of arguments passed
to makecontext().
Sponsored by: DARPA / AFRL
Notes:
svn path=/head/; revision=328631
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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=326193
|
| |
|
|
|
|
|
|
|
|
| |
It's spelled LIBC_SRCTOP not LIBC_SRC.
Pointy-hat to: jhibbits
Reported by: kib
Notes:
svn path=/head/; revision=307892
|
| |
|
|
|
|
|
|
| |
They're nearly identical except for a few files.
Reported by: kib
Notes:
svn path=/head/; revision=307799
|
| |
|
|
|
|
|
|
|
|
|
| |
We have an nitems() macro in the <sys/param.h> header that is
convenient to re-use as it makes things easier to read.
Given that it is available already without adding additional
headers and other parts of libc already use it, extend a bit
more its use.
Notes:
svn path=/head/; revision=298120
|
| |
|
|
| |
Notes:
svn path=/head/; revision=296113
|
| |
|
|
|
|
|
| |
warnings.
Notes:
svn path=/head/; revision=288019
|
| |
|
|
|
|
|
| |
X-MFC-With: r279784
Notes:
svn path=/head/; revision=281243
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should also save and restore non-volatile Altivec registers, but that
needs to wait on solving two problems:
1. Adding the nonvolatile vector registers means we need 5 more than _JBLEN
entries in jmp_buf on 32-bit targets (64-bit is OK).
2. Need to figure out how to determine if saving/restoring vector regs
is supported on the current CPU from userland.
MFC after: 1 month
Notes:
svn path=/head/; revision=279784
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Only i386 and amd64 provide a non-trivial __getcontextx(). Use a common
trivial implementation in gen/ for other architectures, rather than
copying the file to each MD subdirectory.
Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1472
Notes:
svn path=/head/; revision=277078
|
| |
|
|
|
|
|
|
|
| |
and bad things happen.
MFC after: 1 week
Notes:
svn path=/head/; revision=276734
|
| |
|
|
|
|
|
|
|
|
| |
It allows to build with newer binutils
Differential Revision: https://reviews.freebsd.org/D877
Reviewed by: jhibbits
Notes:
svn path=/head/; revision=272362
|
| |
|
|
|
|
|
|
|
| |
This WIP should not have been committed yet.
Pointyhat to: avg
Notes:
svn path=/head/; revision=253750
|
| |
|
|
|
|
|
| |
MFC after: 21 days
Notes:
svn path=/head/; revision=253749
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
check_deferred_signal() returns twice, since handle_signal() emulates
the return from the normal signal handler by sigreturn(2)ing the
passed context. Second return is performed on the destroyed stack
frame, because __fillcontextx() has already returned. This causes
undefined and bad behaviour, usually the victim thread gets SIGSEGV.
Avoid nested frame and the need to return from it by doing direct call
to getcontext() in the check_deferred_signal() and using a new private
libc helper __fillcontextx2() to complement the context with the
extended CPU state if the deferred signal is still present.
The __fillcontextx() is now unused, but is kept to allow older
libthr.so to be used with the new libc.
Mark __fillcontextx() as returning twice [1].
Reported by: pgj
Pointy hat to: kib
Discussed with: dim
Tested by: pgj, dim
Suggested by: jilles [1]
MFC after: 1 week
Notes:
svn path=/head/; revision=251047
|
| |
|
|
|
|
|
|
|
|
| |
function. The purpose of the __eabi() function is to set up the
runtime and is called first thing by main(). The runtime is already
set up for us prior to caling main, so there's nothing to do for
us in the EABI case.
Notes:
svn path=/head/; revision=235929
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
usermode context switches (long jumps and ucontext operations). If these
are used across threads, multiple threads can end up with the same TLS base.
Madness will then result.
This makes behavior on PPC match that on x86 systems and on Linux.
MFC after: 10 days
Notes:
svn path=/head/; revision=234115
|
| |
|
|
|
|
|
|
|
|
|
|
| |
has the same API as __weak_reference(). Give 'x' in SYS.h a more meaningful
name.
Tested on 32- and 64-bit PowerMac.
Reviewed by: bde
Notes:
svn path=/head/; revision=231044
|
| |
|
|
|
|
|
|
|
|
| |
of __getcontextx_size(3) from size_t to int.
PR: ports/164654
MFC after: 1 month
Notes:
svn path=/head/; revision=230864
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
fit into existing mcontext_t.
On i386 and amd64 do return the extended FPU states using
getcontextx(3). For other architectures, getcontextx(3) returns the
same information as getcontext(2).
Tested by: pho
MFC after: 1 month
Notes:
svn path=/head/; revision=230429
|
| |
|
|
| |
Notes:
svn path=/head/; revision=229806
|
| |
|
|
|
|
|
|
|
|
| |
working MI one. The MI one only needs to be overridden on machines
with non-IEEE754 arithmetic. (The last supported one was the VAX.)
It can also be overridden if someone comes up with a faster one that
actually passes the regression tests -- but this is harder than it sounds.
Notes:
svn path=/head/; revision=226606
|
| |
|
|
|
|
|
|
|
| |
PR: bin/154928
Submitted by: Eitan Adler <lists at eitanadler.com>
MFC after: 3 days
Notes:
svn path=/head/; revision=218909
|
| |
|
|
|
|
|
| |
Reviewed and tested by: nwhitehorn
Notes:
svn path=/head/; revision=217398
|
| |
|
|
|
|
|
|
|
| |
their software.
Obtained from: NetBSD
Notes:
svn path=/head/; revision=204606
|
| |
|
|
|
|
|
| |
last commit. Now it really can use a runtime-set cacheline size.
Notes:
svn path=/head/; revision=183320
|
| |
|
|
|
|
|
|
| |
supporting 64-bit CPUs, which often have 128-byte cache lines instead of the
standard 32.
Notes:
svn path=/head/; revision=183319
|
| |
|
|
|
|
|
|
|
|
|
|
| |
variations (e500 currently), this provides a gcc-level FPU emulation and is an
alternative approach to the recently introduced kernel-level emulation
(FPU_EMU).
Approved by: cognet (mentor)
MFp4: e500
Notes:
svn path=/head/; revision=176530
|
| |
|
|
| |
Notes:
svn path=/head/; revision=170506
|
| |
|
|
|
|
|
| |
<machine/md_var.h>.
Notes:
svn path=/head/; revision=170484
|
| |
|
|
| |
Notes:
svn path=/head/; revision=161853
|
| |
|
|
|
|
|
| |
assembly.
Notes:
svn path=/head/; revision=161729
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to mistakes from day 1, it has always had semantics inconsistent with
SVR4 and its successors. In particular, given argument M:
- On Solaris and FreeBSD/{alpha,sparc64}, it clobbers the old flags
and *sets* the new flag word to M. (NetBSD, too?)
- On FreeBSD/{amd64,i386}, it *clears* the flags that are specified in M
and leaves the remaining flags unchanged (modulo a small bug on amd64.)
- On FreeBSD/ia64, it is not implemented.
There is no way to fix fpsetsticky() to DTRT for both old FreeBSD apps
and apps ported from other operating systems, so the best approach
seems to be to kill the function and fix any apps that break. I
couldn't find any ports that use it, and any such ports would already
be broken on FreeBSD/ia64 and Linux anyway.
By the way, the routine has always been undocumented in FreeBSD,
except for an MLINK to a manpage that doesn't describe it. This
manpage has stated since 5.3-RELEASE that the functions it describes
are deprecated, so that must mean that functions that it is *supposed*
to describe but doesn't are even *more* deprecated. ;-)
Note that fpresetsticky() has been retained on FreeBSD/i386. As far
as I can tell, no other operating systems or ports of FreeBSD
implement it, so there's nothing for it to be inconsistent with.
PR: 75862
Suggested by: bde
Notes:
svn path=/head/; revision=143658
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
scalbn() implementation from libm. (The two functions are defined to
be identical, but ldexp() lives in libc for backwards compatibility.)
The old ldexp() implementation...
- was more complicated than this one
- set errno instead of raising FP exceptions
- got some corner cases wrong
(e.g. ldexp(1.0, 2000) in round-to-zero mode)
The new implementation lives in libc/gen instead of
libc/$MACHINE_ARCH/gen, since we don't need N copies of a
machine-independent file. The amd64 and i386 platforms
retain their fast and correct MD implementations and
override this one.
Notes:
svn path=/head/; revision=140607
|
| |
|
|
| |
Notes:
svn path=/head/; revision=133754
|
| |
|
|
| |
Notes:
svn path=/head/; revision=132399
|