Date: Mon, 4 Jan 2021 20:26:08 +0100 From: Emmanuel Vadot <manu@bidouilliste.com> To: Konstantin Belousov <kib@FreeBSD.org> Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org, greg@unrelenting.technology Subject: Re: git: 44c5db52e258 - main - Add eventfd(3) wrappers to libc. Message-ID: <20210104202608.c7b0645ca0af0d6ff171f375@bidouilliste.com> In-Reply-To: <202012271057.0BRAvdLB013895@gitrepo.freebsd.org> References: <202012271057.0BRAvdLB013895@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, This break devel/glib20 I don't have much info, just logs from two poudriere build : https://people.freebsd.org/~manu/glib-2.66.4_1,1-7f4e724829.log https://people.freebsd.org/~manu/glib-2.66.4_1,1-9dd48b87e6.log Cheers, On Sun, 27 Dec 2020 10:57:39 GMT Konstantin Belousov <kib@FreeBSD.org> wrote: > The branch main has been updated by kib: > > URL: https://cgit.FreeBSD.org/src/commit/?id=44c5db52e258aebed0c5d01047c79bc3d8487966 > > commit 44c5db52e258aebed0c5d01047c79bc3d8487966 > Author: Konstantin Belousov <kib@FreeBSD.org> > AuthorDate: 2020-12-23 14:16:35 +0000 > Commit: Konstantin Belousov <kib@FreeBSD.org> > CommitDate: 2020-12-27 10:57:26 +0000 > > Add eventfd(3) wrappers to libc. > > eventfd_read/write one-liners are from musl libc. > > Submitted by: greg@unrelenting.technology > Reviewed by: markj (previous version) > MFC after: 2 weeks > Differential Revision: https://reviews.freebsd.org/D26668 > --- > lib/libc/gen/Makefile.inc | 1 + > lib/libc/gen/Symbol.map | 3 +++ > lib/libc/gen/eventfd.c | 54 +++++++++++++++++++++++++++++++++++++++++ > lib/libc/include/libc_private.h | 1 + > lib/libc/sys/Makefile.inc | 3 +++ > 5 files changed, 62 insertions(+) > > diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc > index c0d719371fc8..76a21975f1ac 100644 > --- a/lib/libc/gen/Makefile.inc > +++ b/lib/libc/gen/Makefile.inc > @@ -47,6 +47,7 @@ SRCS+= __getosreldate.c \ > err.c \ > errlst.c \ > errno.c \ > + eventfd.c \ > exec.c \ > exect.c \ > fdevname.c \ > diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map > index 2fb8e080de6a..c89eb63caada 100644 > --- a/lib/libc/gen/Symbol.map > +++ b/lib/libc/gen/Symbol.map > @@ -422,6 +422,9 @@ FBSD_1.5 { > }; > > FBSD_1.6 { > + eventfd; > + eventfd_read; > + eventfd_write; > getlogin_r; > memalign; > scandir_b; > diff --git a/lib/libc/gen/eventfd.c b/lib/libc/gen/eventfd.c > new file mode 100644 > index 000000000000..b757f82029a9 > --- /dev/null > +++ b/lib/libc/gen/eventfd.c > @@ -0,0 +1,54 @@ > +/*- > + * SPDX-License-Identifier: MIT > + * > + * Copyright (c) 2005-2020 Rich Felker, et al. > + * Copyright (c) 2020 Greg V > + * > + * Permission is hereby granted, free of charge, to any person obtaining > + * a copy of this software and associated documentation files (the > + * "Software"), to deal in the Software without restriction, including > + * without limitation the rights to use, copy, modify, merge, publish, > + * distribute, sublicense, and/or sell copies of the Software, and to > + * permit persons to whom the Software is furnished to do so, subject to > + * the following conditions: > + * > + * The above copyright notice and this permission notice shall be > + * included in all copies or substantial portions of the Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. > + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY > + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, > + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE > + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. > + */ > + > +#include <sys/cdefs.h> > +__FBSDID("$FreeBSD$"); > + > +#include "namespace.h" > +#include <sys/eventfd.h> > +#include <sys/specialfd.h> > +#include <unistd.h> > +#include "un-namespace.h" > +#include "libc_private.h" > + > +int eventfd(unsigned int initval, int flags) > +{ > + struct specialfd_eventfd args; > + > + args.initval = initval; > + args.flags = flags; > + return (__sys___specialfd(SPECIALFD_EVENTFD, &args, sizeof(args))); > +} > + > +int eventfd_read(int fd, eventfd_t *value) > +{ > + return (sizeof(*value) == _read(fd, value, sizeof(*value)) ? 0 : -1); > +} > + > +int eventfd_write(int fd, eventfd_t value) > +{ > + return (sizeof(value) == _write(fd, &value, sizeof(value)) ? 0 : -1); > +} > diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h > index 21f5b1762eb4..d26c78c21c07 100644 > --- a/lib/libc/include/libc_private.h > +++ b/lib/libc/include/libc_private.h > @@ -382,6 +382,7 @@ int __sys_sigtimedwait(const __sigset_t *, struct __siginfo *, > const struct timespec *); > int __sys_sigwait(const __sigset_t *, int *); > int __sys_sigwaitinfo(const __sigset_t *, struct __siginfo *); > +int __sys___specialfd(int, const void *, __size_t); > int __sys_statfs(const char *, struct statfs *); > int __sys_swapcontext(struct __ucontext *, > const struct __ucontext *); > diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc > index 38156ccf507d..d43a59719563 100644 > --- a/lib/libc/sys/Makefile.inc > +++ b/lib/libc/sys/Makefile.inc > @@ -178,6 +178,7 @@ MAN+= abort2.2 \ > cpuset_getaffinity.2 \ > cpuset_getdomain.2 \ > dup.2 \ > + eventfd.2 \ > execve.2 \ > _exit.2 \ > extattr_get_file.2 \ > @@ -379,6 +380,8 @@ MLINKS+=cpuset.2 cpuset_getid.2 \ > MLINKS+=cpuset_getaffinity.2 cpuset_setaffinity.2 > MLINKS+=cpuset_getdomain.2 cpuset_setdomain.2 > MLINKS+=dup.2 dup2.2 > +MLINKS+=eventfd.2 eventfd_read.3 \ > + eventfd.2 eventfd_write.3 > MLINKS+=execve.2 fexecve.2 > MLINKS+=extattr_get_file.2 extattr.2 \ > extattr_get_file.2 extattr_delete_fd.2 \ -- Emmanuel Vadot <manu@bidouilliste.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210104202608.c7b0645ca0af0d6ff171f375>