Date: Tue, 03 Sep 2019 14:07:20 -0000 From: "Rodney W. Grimes" <freebsd@gndrsh.dnsmgr.net> To: Cy Schubert <Cy.Schubert@cschubert.com> Cc: "O. Hartmann" <ohartmann@walstatt.org>, Ed Maste <emaste@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r346316 - in head: contrib/elftoolchain/strings sbin/savecore usr.bin/brandelf usr.bin/head usr.bin/wc Message-ID: <201904172205.x3HM5bur002269@gndrsh.dnsmgr.net> In-Reply-To: <201904171941.x3HJfmee090931@slippy.cwsent.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> In message <20190417195145.6824c0f9@thor.intern.walstatt.dynvpn.de>, > "O. Hartma > nn" writes: > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA256 > > > > Am Wed, 17 Apr 2019 16:18:14 +0000 (UTC) > > Ed Maste <emaste@FreeBSD.org> schrieb: > > > > > Author: emaste > > > Date: Wed Apr 17 16:18:14 2019 > > > New Revision: 346316 > > > URL: https://svnweb.freebsd.org/changeset/base/346316 > > > > > > Log: > > > cap_fileargs: chase r346315, update fileargs_init in consumers > > > > > > Reported by: ci.freebsd.org (8 times so far) > > > MFC after: 3 weeks > > > MFC with: r346315 > > > Sponsored by: The FreeBSD Foundation > > > > > > Modified: > > > head/contrib/elftoolchain/strings/strings.c > > > head/sbin/savecore/savecore.c > > > head/usr.bin/brandelf/brandelf.c > > > head/usr.bin/head/head.c > > > head/usr.bin/wc/wc.c > > > > > > Modified: head/contrib/elftoolchain/strings/strings.c > > > =========================================================================== > > === > > > --- head/contrib/elftoolchain/strings/strings.c Wed Apr 17 16:02:57 201 > > 9 > > > (r346315) +++ head/contrib/elftoolchain/strings/strings.c Wed Apr 17 16:1 > > 8:14 > > > 2019 (r346316) @@ -195,7 +195,7 @@ main(int argc, char **argv) > > > argv += optind; > > > > > > cap_rights_init(&rights, CAP_READ, CAP_SEEK, CAP_FSTAT, CAP_FCNTL); > > > - fa = fileargs_init(argc, argv, O_RDONLY, 0, &rights); > > > + fa = fileargs_init(argc, argv, O_RDONLY, 0, &rights, FA_OPEN); > > > if (fa == NULL) > > > err(1, "Unable to initialize casper fileargs"); > > > > > > > > > Modified: head/sbin/savecore/savecore.c > > > =========================================================================== > > === > > > --- head/sbin/savecore/savecore.c Wed Apr 17 16:02:57 2019 (r34631 > > 5) > > > +++ head/sbin/savecore/savecore.c Wed Apr 17 16:18:14 2019 (r34631 > > 6) > > > @@ -1030,7 +1030,7 @@ init_caps(int argc, char **argv) > > > */ > > > (void)cap_rights_init(&rights, CAP_PREAD, CAP_WRITE, CAP_IOCTL); > > > capfa = fileargs_init(argc, argv, checkfor || keep ? O_RDONLY : O_RDWR, > > > - 0, &rights); > > > + 0, &rights, FA_OPEN); > > > if (capfa == NULL) { > > > logmsg(LOG_ERR, "fileargs_init(): %m"); > > > exit(1); > > > > > > Modified: head/usr.bin/brandelf/brandelf.c > > > =========================================================================== > > === > > > --- head/usr.bin/brandelf/brandelf.c Wed Apr 17 16:02:57 2019 > > (r346315) > > > +++ head/usr.bin/brandelf/brandelf.c Wed Apr 17 16:18:14 2019 > > (r346316) > > > @@ -133,7 +133,7 @@ main(int argc, char **argv) > > > if (flags == O_RDWR) > > > cap_rights_set(&rights, CAP_WRITE); > > > > > > - fa = fileargs_init(argc, argv, flags, 0, &rights); > > > + fa = fileargs_init(argc, argv, flags, 0, &rights, FA_OPEN); > > > if (fa == NULL) > > > errx(1, "unable to init casper"); > > > > > > > > > Modified: head/usr.bin/head/head.c > > > =========================================================================== > > === > > > --- head/usr.bin/head/head.c Wed Apr 17 16:02:57 2019 (r34631 > > 5) > > > +++ head/usr.bin/head/head.c Wed Apr 17 16:18:14 2019 (r34631 > > 6) > > > @@ -115,7 +115,7 @@ main(int argc, char *argv[]) > > > argv += optind; > > > > > > fa = fileargs_init(argc, argv, O_RDONLY, 0, > > > - cap_rights_init(&rights, CAP_READ, CAP_FSTAT, CAP_FCNTL)); > > > + cap_rights_init(&rights, CAP_READ, CAP_FSTAT, CAP_FCNTL), FA_OPEN); > > > if (fa == NULL) > > > errx(1, "unable to init casper"); > > > > > > > > > Modified: head/usr.bin/wc/wc.c > > > =========================================================================== > > === > > > --- head/usr.bin/wc/wc.c Wed Apr 17 16:02:57 2019 (r346315) > > > +++ head/usr.bin/wc/wc.c Wed Apr 17 16:18:14 2019 (r346316) > > > @@ -133,7 +133,7 @@ main(int argc, char *argv[]) > > > (void)signal(SIGINFO, siginfo_handler); > > > > > > fa = fileargs_init(argc, argv, O_RDONLY, 0, > > > - cap_rights_init(&rights, CAP_READ, CAP_FSTAT)); > > > + cap_rights_init(&rights, CAP_READ, CAP_FSTAT), FA_OPEN); > > > if (fa == NULL) { > > > xo_warn("Unable to init casper"); > > > exit(1); > > > _______________________________________________ > > > svn-src-head@freebsd.org mailing list > > > https://lists.freebsd.org/mailman/listinfo/svn-src-head > > > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" > > > > This commit seems to break buildworld on my installations: > > > > [...] > > Building /usr/obj/usr/src/amd64.amd64/tmp/obj-tools/usr.bin/strings/strings.o > > - --- strings.o --- > > /usr/src/contrib/elftoolchain/strings/strings.c:198:55: error: use of undecla > > red identifier > > 'FA_OPEN' fa = fileargs_init(argc, argv, O_RDONLY, 0, &rights, FA_OPEN); > > ^ > > 1 error generated. > > *** [strings.o] Error code 1 > > Try this. We shouldn't use headers in /usr/include, only the ones in > src/. > > Index: tools/build/Makefile > =================================================================== > --- tools/build/Makefile (revision 346330) > +++ tools/build/Makefile (working copy) > @@ -59,9 +59,7 @@ > INCS+= libcasper.h > .endif > > -.if !exists(/usr/include/casper/cap_fileargs.h) > CASPERINC+= ${SRCTOP}/lib/libcasper/services/cap_fileargs/cap_fileargs. > h > -.endif > > .if empty(SRCS) > SRCS= dummy.c > > I found a number of bugs like this one in heimdal in base and in ntp > previously. > Cy Schubert <Cy.Schubert@cschubert.com> This is in general a huge problem area dating back to when I fixed "make includes" to at least be some what correct. Rather than all these one off hacks of doing fooINC+= the make includes target should be fixed such that we boot strap a proper "includes" tree, preferable in /usr/obj/${SRCTOP} and use that in all places that need build tree (not host tree) include files. If you find yourself doing the above it means that something is missing from "make includes", as that file should of been populated into /usr/includes early in the build process. Doing the /usr/obj/${SRCTOP}/usr/include/ would fix all places that need hacks like above. Regards, Rod -- Rod Grimes rgrimes@freebsd.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201904172205.x3HM5bur002269>