summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2018-01-18Move to ffs(3) for bitmask scanning. I played with this earlier,Otto Moerbeek
but at that time ffs function calls were generated instead of the compiler inlining the code. Now that ffs is marked protected in libc this is handled better. Thanks to kshe who prompted me to look at this again.
2018-01-18Instead of trying to handle ffs() with the normal rename-mark-hidden-and-aliasPhilip Guenther
dance, mark it protected. This works better for both gcc and clang: gcc blocks overriding of internal calls, while clang permits inlining again. ok otto@
2018-01-16On armv7, remove symbols that are also present in our libc. Because of theMark Kettenis
EABI aliases these can lead to duplicate symbol errors, especially when mixing code compiled with gcc and clang. The intention is to revert this once we convert armv7 to hardfloat. ok patrick@, guenther@
2018-01-14Add two more ARM EABI aliases that I missed in the previous libc minorMark Kettenis
bump. "just go ahead -- crank" deraadt@
2018-01-13tweak previous;Jason McIntyre
2018-01-13introduce a filter called EVFILT_DEVICE that can be used to notifyRobert Nagy
listeners of device state changes. currently only supports NOTE_CHANGE that will be used by drm(4) ok kettenis@
2018-01-12Adjust references for sysctl(3) to sysctl(2)Theo de Raadt
2018-01-12sysctl(3) can now be renamed to sysctl(2)Theo de Raadt
2018-01-08Move SC_* defines into <machine/setjmp.h>, and rename them,Visa Hankala
so that <machine/signal.h> is not needed in setjmp.S. Suggested by kettenis@ long ago, OK deraadt@
2018-01-08optimization and some cleanup; mostly from kshe (except the unmap() part)Otto Moerbeek
2018-01-08TIOCUCNTL is now allowed by promise "tty".Martin Pieuchot
Reminded by jmc@
2018-01-07amd64_{get,set}_fsbase() are superfluous and unused; delete them.Philip Guenther
Delete unused/never-implemented sysarch defines and structs while here. ports check and ok naddy@ ok deraadt@ mlarkin@
2018-01-07On OpenBSD/armv7 we deliberately trap unaligned access. UnfortunatelyMark Kettenis
the assembly code in libcrypto assumes unaligned access is allowed for ARMv7. Make these paths conditional on __STRICT_ALIGNMENT not being defined and define __STRICT_ALIGNMENT in arm_arch.h for OpenBSD. ok tom@
2010-10-01import OpenSSL-1.0.0aDamien Miller
2018-01-06Remove dead gettimeofday calls and timevals.cheloha
ok jca@
2018-01-02some grammar fixes; from dholland@netbsd, -r1.68Jason McIntyre
2018-01-02Stop assuming <sys/file.h> will pull in fcntl.h when _KERNEL is defined.Philip Guenther
ok millert@ sthen@
2018-01-01Fix wrong ETHERTYPE_IPV6denis
OK jca@ kettenis@ job@
2018-01-01Only init chunk_info once, plus some moving of code to group related functions.Otto Moerbeek
2017-12-27step one in avoiding unneccesary init of chunk_info;Otto Moerbeek
some cleanup; tested by sthen@ on a ports build
2017-12-26Update to compiler-rt 5.0.1.Patrick Wildt
ok kettenis@
2017-12-26Missed in previousJeremie Courreges-Anglas
Spotted by patrick@, thanks
2017-12-26Use a version script to limit exported symbolsJeremie Courreges-Anglas
ok ratchov@ kettenis@
2017-12-26Add ARM EABI runtime aliases to the GCC runtime functions that we includeMark Kettenis
in libc. ok patrick@, jsg@, guenther@
2017-12-25memcpy from the right place. at this point, the used variable is notTed Unangst
relevant. from Mark Karpilovskij. ok millert
2017-12-24Fix one possible buffer overflow and one underflow. Also some minorTodd C. Miller
cleanups. From Jan Kokemueller. OK deraadt@
2017-12-18Add call to fuse_remove_signal_handlers(3) in fuse_teardown(3) to do thehelg
opposite of fuse_setup(3). ok mpi@
2017-12-18Refactor libfuse option processing to better support options in thehelg
future. Immediate benefits are that gid, uid and umask are now supported and max_read is now honoured for all file systems. Mounting read_only is now possible but requires more thorough testing. ok mpi@
2017-12-18let's not try to document the number of items in a list...Jason McIntyre
2017-12-18Add the CLOCK_BOOTTIME clockid for use with clock_gettime(2)cheloha
and put it to use in userspace in lieu of the kern.boottime sysctl. Its absolute value is the time that has elapsed since the system booted, i.e., the system uptime. Use in top(1), w(1), and snmpd(8) eliminates a race with settimeofday(2), adjtime(2), etc. inherent to deriving the system uptime via the kern.boottime sysctl. Product of a great deal of discussion/revision with jca@, tb@, and guenther@. ok tb@ jca@ guenther@ dlg@ mlarkin@ tom@
2017-12-16Move __cxa_thread_atexit* to its own .c file to avoid pulling the codePhilip Guenther
(w/ _dlctl reference) into static executables. It's all Mark's code so put his preferred copyright on it. ok kettenis@
2017-12-16Don't use _libc_ prefix when referencing "builtin" symbols with clang.Mark Kettenis
Slightly tweaked diff from guenther@
2017-12-15Export only symbols to what's declared in fuse.h/fuse_opt.hJeremie Courreges-Anglas
While here, use guenther's magic recipe to avoid the PLT when calling exported symbols from within the library. ok kettenis@ for v1, ok guenther@ helg@
2017-12-15Fix formatting of libfuse version info.helg
ok mpi@
2017-12-14Simplify and unify timespec variables used in those event loopsJeremie Courreges-Anglas
ok millert@
2017-12-14Add Symbols.map to explicitly define the ABIs, hiding linker defined symbols.Philip Guenther
Use hidden aliases for internal invocations of exported symbols to avoid PLT. ok deraadt@ kettenis@ jca@
2017-12-14Use CLOCK_MONOTONIC for the rpc event loopsJeremie Courreges-Anglas
From Scott Cheloha, ok deraadt@ tb@
2017-12-14Add a missing call to fuse_set_signal_handlers(3) in fuse_setup(3) so thathelg
any file systems that call fuse_setup(3) or fuse_main(3) trap signals gracefully. ok mpi@
2017-12-14Drop -g from CFLAGS, bsd.lib.mk adds it by defaultJeremie Courreges-Anglas
ok mpi@ helg@
2017-12-14fuse_opt_add_opt_escaped needs to allocate space for the terminating NULJeremie Courreges-Anglas
Spotted by malloc.conf -> S, ok helg@
2017-12-14Free FUSE channel if fuse_new(3) fails in fuse_setup(3).helg
ok mpi@
2017-12-14Make a few internal symbols static and add a Symbols.map version scriptMark Kettenis
to control which symbols are exported from the shared library. ok guenther@, deraadt@, jca@
2017-12-13Add support for the -d (-o debug) option to libfuse. Currently works for FUSEhelg
file systems that call fuse_parse_cmdline(3), fuse_main(3) or fuse_setup(3). ok mpi@, jca@
2017-12-13If the list of templates 'o' passed to fuse_opt_parse(3) is NULL thenhelg
the processing function should be called in the same way as if no match was found. ok mpi@
2017-12-12Consistently use .Va for "errno";Ingo Schwarze
patch from Jan Stary <hans at stare dot cz>; "I think it makes sense to speak about errno as a variable (.Va)" jca@.
2017-12-12space required between macro arg and punctuation;Jason McIntyre
2017-12-12pledge()'s 2nd argument becomes char *execpromises, which becomes theTheo de Raadt
pledge for a new execve image immediately upon start. Also introduces "error" which makes violations return -1 ENOSYS instead of killing the program ("error" may not be handed to a setuid/setgid program, which may be missing/ignoring syscall return values and would continue with inconsistant state) Discussion with many florian has used this to improve the strictness of a daemon
2017-12-11sscanf(3) is now used to parse templates that contain format specifiershelg
(e.g. %u, %o) other than %s. This aligns libfuse with the Linux reference implementation. ok mpi@
2017-12-11Update to fuse_opt_parse(3) so that all option templates are now matched forhelg
the supplied option. This allows the following templates to be supplied to set multiple members of a struct at the same time. e.g. #define FUSE_LIB_OPT(t, p, v) { t, offsetof(struct fuse_config, p), v } static const struct fuse_opt fuse_lib_opts[] = { FUSE_LIB_OPT("gid=", set_gid, 1), FUSE_LIB_OPT("gid=%u", gid, 0), FUSE_OPT_END }; If "-ogid=1000" is passed to fuse_opt_parse(3) it will set both: fuse_config.set_gid=1 fuse_config.gid=1000 ok mpi@
2017-12-11The fuse_opt_match(3) library function does not match options correctly.helg
libfuse supports option templates of the following form that can be used to automatically parse arguments supplied on the command line. "-p " argument that takes an option e.g -p 22 or -p22 "-p %x" argument that takes an option parsed like sscanf(3) "cache=yes" matches -ocache=yes or -o cache=yes "cache=%s" matches -ocache=<string> or -o cache=<string> "cache=" matches same as above but value is passed to option proc "noatime" matches -onoatime or -o atime For example, it does not match options of the form "-p 22" or "cache=yes" to the corresponding templates "-p " and "cache=yes". This patch fixes that and updates the regression tests accordingly. ok mpi@