build: provide a default WARNS for all in-tree buildsThe current default is provided in various Makefile.inc in some top-leveldirectories and covers a good portion of the tree, but doesn't cover p
build: provide a default WARNS for all in-tree buildsThe current default is provided in various Makefile.inc in some top-leveldirectories and covers a good portion of the tree, but doesn't cover partsof the build a little deeper (e.g. libcasper).Provide a default in src.sys.mk and set WARNS to it in bsd.sys.mk if thatvariable is defined. This lets us relatively cleanly provide a default WARNSno matter where you're building in the src tree without breaking thingsoutside of the tree.Crunchgen has been updated as a bootstrap tool to work on this changebecause it needs r365605 at a minimum to succeed. The cleanup necessary tosuccessfully walk over this change on WITHOUT_CLEAN builds has been added.There is a supplemental project to this to list all of the warnings that areencountered when the environment has WARNS=6 NO_WERROR=yes:https://warns.kevans.dev -- this project will hopefully eventually go awayin favor of CI doing a much better job than it.Reviewed by: emaste, brooks, ngie (all earlier version)Reviewed by: emaste, arichardson (depend-cleanup.sh change)Differential Revision: https://reviews.freebsd.org/D26455
show more ...
regcomp: reduce size of bitmap for multibyte localesThis fixes the obscure endless loop seen with case-insensitivepatterns containing characters in 128-255 range; originallyfound running GNU gre
regcomp: reduce size of bitmap for multibyte localesThis fixes the obscure endless loop seen with case-insensitivepatterns containing characters in 128-255 range; originallyfound running GNU grep test suite.Our regex implementation being kludgy translates the charactersin case-insensitive pattern to bracket expression containing bothcases for the character and doesn't correctly handle the case whenoriginal character is in bitmap and the other case is not, fallinginto the endless loop going through in p_bracket(), ordinary(),and bothcases().Reducing the bitmap to 0-127 range for multibyte locales solves thisas none of these characters have other case mapping outside of bitmap.We are also safe in the case when the original character outside ofbitmap has other case mapping in the bitmap (there are several of thosein our current ctype maps having unidirectional mapping into bitmap).Reviewed by: bapt, kevans, pfgDifferential revision: https://reviews.freebsd.org/D18302
regexec: fix processing multibyte strings.Matcher function incorrectly assumed that moffset that we get fromfindmust is in bytes. Fix this by introducing a stepback function,taking short path if
regexec: fix processing multibyte strings.Matcher function incorrectly assumed that moffset that we get fromfindmust is in bytes. Fix this by introducing a stepback function,taking short path if MB_CUR_MAX is 1, and going back byte-by-byte,checking if we have a legal character sequence otherwise.PR: 153502Reviewed by: pfg, kevansApproved by: kib (mentor, implicit)Differential revision: https://reviews.freebsd.org/D18297
Add libregex, connect it to the buildlibregex is a regex(3) implementation intended to feature GNU extensions andany other non-POSIX compliant extensions that are deemed worthy.These extensions
Add libregex, connect it to the buildlibregex is a regex(3) implementation intended to feature GNU extensions andany other non-POSIX compliant extensions that are deemed worthy.These extensions are separated out into a separate library for the sake ofnot cluttering up libc further with them as well as not deteriorating thespeed (or lack thereof) of the libc implementation.libregex is implemented as a build of the libc implementation with LIBREGEXdefined to distinguish this from a libc build. The reasons forimplementation like this are two-fold:1.) Maintenance- This reduces the overhead induced by adding yet anotherregex implementation to base.2.) Ease of use- Flipping on GNU extensions will be as simple as linkingagainst libregex, and POSIX-compliant compilations can be guaranteed with aREG_POSIX cflag that should be ignored by libc/regex and disables extensionsin libregex. It is also easier to keep REG_POSIX sane and POSIX pure whenimplemented in this fashion.Tests are added for future functionality, but left disconnected for the timebeing while other testing is done.Reviewed by: cem (previous version)Differential Revision: https://reviews.freebsd.org/D12934
DIRDEPS_BUILD: Update dependencies.Sponsored by: Dell EMC Isilon
Add -DSKIP_LEFTASSOC to CFLAGS so leftassoc is skipped, like on NetBSD
Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installedafter r298107Summary of changes:- Replace all instances of FILES/TESTS with ${PACKAGE}FILES. This ensures that na
Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installedafter r298107Summary of changes:- Replace all instances of FILES/TESTS with ${PACKAGE}FILES. This ensures that namespacing is kept with FILES appropriately, and that this shouldn't need to be repeated if the namespace changes -- only the definition of PACKAGE needs to be changed- Allow PACKAGE to be overridden by callers instead of forcing it to always be `tests`. In the event we get to the point where things can be split up enough in the base system, it would make more sense to group the tests with the blocks they're a part of, e.g. byacc with byacc-tests, etc- Remove PACKAGE definitions where possible, i.e. where FILES wasn't used previously.- Remove unnecessary TESTSPACKAGE definitions; this has been elided into bsd.tests.mk- Remove unnecessary BINDIRs used previously with ${PACKAGE}FILES; ${PACKAGE}FILESDIR is now automatically defined in bsd.test.mk.- Fix installation of files under data/ subdirectories in lib/libc/tests/hash and lib/libc/tests/net/getaddrinfo- Remove unnecessary .include <bsd.own.mk>s (some opportunistic cleanup)Document the proposed changes in share/examples/tests/tests/... via examplesso it's clear that ${PACKAGES}FILES is the suggested way forward in terms ofreplacing FILES. share/mk/bsd.README didn't seem like the appropriate methodof communicating that info.MFC after: never probablyX-MFC with: r298107PR: 209114Relnotes: yesTested with: buildworld, installworld, checkworld; buildworld, packageworldSponsored by: EMC / Isilon Storage Division
DIRDEPS_BUILD: Connect MK_TESTS.Sponsored by: EMC / Isilon Storage Division
Avoid adding the '-release' suffix to non-debug kernel packages.Sponsored by: The FreeBSD Foundation
Fix LDADD/DPADD that should be LIBADD.Sponsored by: EMC / Isilon Storage Division
Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) andnetbsd-tests.test.mk (r289151)- Eliminate explicit OBJTOP/SRCTOP setting- Convert all ad hoc NetBSD test integration
Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) andnetbsd-tests.test.mk (r289151)- Eliminate explicit OBJTOP/SRCTOP setting- Convert all ad hoc NetBSD test integration over to netbsd-tests.test.mk- Remove unnecessary TESTSDIR setting- Use SRCTOP where possible for clarityMFC after: 2 weeksSponsored by: EMC / Isilon Storage Divison
Add reachover Makefiles for contrib/netbsd-tests/lib/libc; this adds approximately500 new testcasesVarious TODOs have been sprinkled around the Makefiles for items that even needto be ported (mis
Add reachover Makefiles for contrib/netbsd-tests/lib/libc; this adds approximately500 new testcasesVarious TODOs have been sprinkled around the Makefiles for items that even needto be ported (missing features), testcases have issues with building/linking, orissues at runtime.A variant of this code has been tested extensively on amd64 and i38610-STABLE/11-CURRENT for several months without issue. It builds on otherarchitectures, but the code will remain off until I have prove it works onvirtual hardware or real hardware on other architecturesIn collaboration with: pho, Casey Peel <[email protected]>Sponsored by: EMC / Isilon Storage Division