Adjust history, info source from v1's manualshttps://www.bell-labs.com/usr/dmr/www/1stEdman.htmlMFC after: 5 days
General further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 3-Clause license.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier f
General further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 3-Clause license.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.Special thanks to Wind River for providing access to "The Duke ofHighlander" tool: an older (2014) run over FreeBSD tree was useful as astarting point.
show more ...
Renumber copyright clause 4Renumber cluase 4 to 3, per what everybody else did when BSD grantedthem permission to remove clause 3. My insistance on keeping the samenumbering for legal reasons is
Renumber copyright clause 4Renumber cluase 4 to 3, per what everybody else did when BSD grantedthem permission to remove clause 3. My insistance on keeping the samenumbering for legal reasons is too pedantic, so give up on that point.Submitted by: Jan Schaumann <[email protected]>Pull Request: https://github.com/freebsd/freebsd/pull/96
Use ANSI C prototypes. Eliminates -Wold-style-definition warnings.
Add declaration to eliminate -Wmissing-prototypes warning
Switch libc from using _sig{procmask,action,suspend} symbols, whichare aliases for the syscall stubs and are plt-interposed, to thelibc-private aliases of internally interposed sigprocmask() etc.
Switch libc from using _sig{procmask,action,suspend} symbols, whichare aliases for the syscall stubs and are plt-interposed, to thelibc-private aliases of internally interposed sigprocmask() etc.Since e.g. _sigaction is not interposed by libthr, calling signal()removes thr_sighandler() from the handler slot etc. The result wasbreaking signal semantic and rtld locking.The added __libc_sigprocmask and other symbols are hidden, they arenot exported and cannot be called through PLT. The setjmp/longjmpfunctions for x86 were changed to use direct calls, and sincePIC_PROLOGUE only needed for functional PLT indirection on i386, it isremoved as well.The PowerPC bug of calling the syscall directly in the setjmp/longjmpimplementation is kept as is.Reported by: Pete French <[email protected]>Tested by: Michiel Boland <[email protected]>Reviewed by: jilles (previous version)Sponsored by: The FreeBSD FoundationMFC after: 1 week
Reduce the size of the interposing table and amount ofcancellation-handling code in the libthr. Translate some syscallsinto their more generic counterpart, and remove translated syscallsfrom the
Reduce the size of the interposing table and amount ofcancellation-handling code in the libthr. Translate some syscallsinto their more generic counterpart, and remove translated syscallsfrom the table.List of the affected syscalls:creat, open -> openatraise -> thr_killsleep, usleep -> nanosleeppause -> sigsuspendwait, wait3, waitpid -> wait4Suggested and reviewed by: jilles (previous version)Sponsored by: The FreeBSD FoundationMFC after: 1 week
Fix known issues which blow up the process after dlopen("libthr.so")(or loading a dso linked to libthr.so into process which was notlinked against threading library).- Remove libthr interposers o
Fix known issues which blow up the process after dlopen("libthr.so")(or loading a dso linked to libthr.so into process which was notlinked against threading library).- Remove libthr interposers of the libc functions, including __error(). Instead, functions calls are indirected through the interposing table, similar to how pthread stubs in libc are already done. Libc by default points either to syscall trampolines or to existing libc implementations. On libthr load, libthr rewrites the pointers to the cancellable implementations already in libthr. The interposition table is separate from pthreads stubs indirection table to not pull pthreads stubs into static binaries.- Postpone the malloc(3) internal mutexes initialization until libthr is loaded. This avoids recursion between calloc(3) and static pthread_mutex_t initialization.- Reinstall signal handlers with wrapper on libthr load. The _rtld_is_dlopened(3) is used to avoid useless calls to sigaction(2) when libthr is statically referenced from the main binary.In the process, fix openat(2), swapcontext(2) and setcontext(2)interposing. The libc symbols were exported at different versionsthan libthr interposers. Export both libc and libthr versions fromlibc now, with default set to the higher version from libthr.Remove unused and disconnected swapcontext(3) userspace implementationfrom libc/gen.No objections from: deischenTested by: pho, antoine (exp-run) (previous versions)Sponsored by: The FreeBSD FoundationMFC after: 1 week
Replace use of ${.CURDIR} by ${LIBC_SRCTOP} and define ${LIBC_SRCTOP}if not already defined. This allows building libc from outside oflib/libc using a reach-over makefile.A typical use-case is to
Replace use of ${.CURDIR} by ${LIBC_SRCTOP} and define ${LIBC_SRCTOP}if not already defined. This allows building libc from outside oflib/libc using a reach-over makefile.A typical use-case is to build a standard ILP32 version and a COMPAT32version in a single iteration by building the COMPAT32 version using areach-over makefile.Obtained from: Juniper Networks, Inc.
Update the kill(2) and killpg(2) man pages to the modern permissionchecks. Also indicate killpg(2) is POSIX compliant.Reviewed by: jillesReviewed by: wblockApproved by: cpercivaMFC after: 3 days
General mdoc(7) and typo fixes.PR: 167713Submitted by: Nobuyuki Koganemaru (kogane!jp.freebsd.org)
Remove non-existing error condition.Just like kill(2), it is impossible for killpg(0, ...) to fail withESRCH, as a process always has a process group.Discussed on: arch@MFC after: 1 week
Powerpc is special here. powerpc and powerpc64 use different ABIs, sotheir implementations aren't in the same files. Introduce LIBC_ARCHand use that in preference to MACHINE_CPUARCH. Tested by a
Powerpc is special here. powerpc and powerpc64 use different ABIs, sotheir implementations aren't in the same files. Introduce LIBC_ARCHand use that in preference to MACHINE_CPUARCH. Tested by amd64 andpowerpc64 builds (thanks nathanw@)
MFtbemd:Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you wantto test of all the CPUs of a given family conform.
Verify return value of the sigset manipulation functionsto catch invalid signal numbers [1]. Use consistent style ofnot assigning the return value to a local variable.Reported by: Garrett Cooper
Verify return value of the sigset manipulation functionsto catch invalid signal numbers [1]. Use consistent style ofnot assigning the return value to a local variable.Reported by: Garrett Cooper <yanegomi gmail com> [1]MFC after: 1 week
For xsi_sigpause(3), remove the supplied signal from the process maskduring sigpause(2) call. It was backward.Check that the signal number is valid.Reported by: Garrett Cooper <yanegomi gmail com
For xsi_sigpause(3), remove the supplied signal from the process maskduring sigpause(2) call. It was backward.Check that the signal number is valid.Reported by: Garrett Cooper <yanegomi gmail com>MFC after: 1 week
These features will first appear in 8.1, soon to be releasedMFC after: 3 days
Fix several typos in macros or macro misusage.Found by: make manlintReviewed by: ruApproved by: philip (mentor)
Implement sighold, sigignore, sigpause, sigrelse, sigset functionsfrom SUSv4 XSI. Note that the functions are obsoleted, and onlyprovided to ease porting from System V-like systems. Since sigpause
Implement sighold, sigignore, sigpause, sigrelse, sigset functionsfrom SUSv4 XSI. Note that the functions are obsoleted, and onlyprovided to ease porting from System V-like systems. Since sigpausealready exists in compat with different interface, XSI sigpause isnamed xsi_sigpause.Reviewed by: davidxuMFC after: 3 weeks
Use C comments since we now preprocess these files with CPP.
Per Regents of the University of Calfornia letter, remove advertisingclause.# If I've done so improperly on a file, please let me know.
o From kern_prot.c::p_cansignal():UNIX signalling semantics require that processes in the samesession always be able to deliver SIGCONT to one another,overriding the remaining protections.Fix S
o From kern_prot.c::p_cansignal():UNIX signalling semantics require that processes in the samesession always be able to deliver SIGCONT to one another,overriding the remaining protections.Fix SIGCONT special case description similar to rev. 1.22 kill.2.PR: docs/58710Submitted by: Ryan YounceMFC after: 2 weeks
Add each directory's symbol map file to SYM_MAPS.
Add symbol maps and initial symbol version definitions to libc.Reviewed by: davidxu
Include a couple of headers to ensure consistency between the prototype andthe function definition.
123