svn commit: r300985 - head/sys/dev/bge
Author: sephe Date: Mon May 30 06:49:01 2016 New Revision: 300985 URL: https://svnweb.freebsd.org/changeset/base/300985 Log: bge: Support 5717 C0, which is almost same as 5720 A0 PR: 209758 Obtained from:DragonFlyBSD d79f5d8f5fe94cd6769207b2901422977d502bc0 MFC after:1 week Modified: head/sys/dev/bge/if_bge.c head/sys/dev/bge/if_bgereg.h Modified: head/sys/dev/bge/if_bge.c == --- head/sys/dev/bge/if_bge.c Mon May 30 06:44:10 2016(r300984) +++ head/sys/dev/bge/if_bge.c Mon May 30 06:49:01 2016(r300985) @@ -171,6 +171,7 @@ static const struct bge_type { { BCOM_VENDORID,BCOM_DEVICEID_BCM5715 }, { BCOM_VENDORID,BCOM_DEVICEID_BCM5715S }, { BCOM_VENDORID,BCOM_DEVICEID_BCM5717 }, + { BCOM_VENDORID,BCOM_DEVICEID_BCM5717C }, { BCOM_VENDORID,BCOM_DEVICEID_BCM5718 }, { BCOM_VENDORID,BCOM_DEVICEID_BCM5719 }, { BCOM_VENDORID,BCOM_DEVICEID_BCM5720 }, @@ -311,6 +312,7 @@ static const struct bge_revision { { BGE_CHIPID_BCM5715_A3,"BCM5715 A3" }, { BGE_CHIPID_BCM5717_A0,"BCM5717 A0" }, { BGE_CHIPID_BCM5717_B0,"BCM5717 B0" }, + { BGE_CHIPID_BCM5717_C0,"BCM5717 C0" }, { BGE_CHIPID_BCM5719_A0,"BCM5719 A0" }, { BGE_CHIPID_BCM5720_A0,"BCM5720 A0" }, { BGE_CHIPID_BCM5755_A0,"BCM5755 A0" }, @@ -2699,6 +2701,7 @@ bge_chipid(device_t dev) */ switch (pci_get_device(dev)) { case BCOM_DEVICEID_BCM5717: + case BCOM_DEVICEID_BCM5717C: case BCOM_DEVICEID_BCM5718: case BCOM_DEVICEID_BCM5719: case BCOM_DEVICEID_BCM5720: @@ -2727,6 +2730,8 @@ bge_chipid(device_t dev) default: id = pci_read_config(dev, BGE_PCI_PRODID_ASICREV, 4); } + if (id == BGE_CHIPID_BCM5717_C0) + id = BGE_CHIPID_BCM5720_A0; } return (id); } Modified: head/sys/dev/bge/if_bgereg.h == --- head/sys/dev/bge/if_bgereg.hMon May 30 06:44:10 2016 (r300984) +++ head/sys/dev/bge/if_bgereg.hMon May 30 06:49:01 2016 (r300985) @@ -329,6 +329,7 @@ #defineBGE_CHIPID_BCM57780_A1 0x57780001 #defineBGE_CHIPID_BCM5717_A0 0x05717000 #defineBGE_CHIPID_BCM5717_B0 0x05717100 +#defineBGE_CHIPID_BCM5717_C0 0x05717200 #defineBGE_CHIPID_BCM5719_A0 0x05719000 #defineBGE_CHIPID_BCM5720_A0 0x0572 #defineBGE_CHIPID_BCM5762_A0 0x05762000 @@ -2452,6 +2453,7 @@ struct bge_status_block { #defineBCOM_DEVICEID_BCM5715 0x1678 #defineBCOM_DEVICEID_BCM5715S 0x1679 #defineBCOM_DEVICEID_BCM5717 0x1655 +#defineBCOM_DEVICEID_BCM5717C 0x1665 #defineBCOM_DEVICEID_BCM5718 0x1656 #defineBCOM_DEVICEID_BCM5719 0x1657 #defineBCOM_DEVICEID_BCM5720_PP0x1658 /* Not released to public. */ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300984 - head/lib/clang/include/clang/Basic
Author: dim Date: Mon May 30 06:44:10 2016 New Revision: 300984 URL: https://svnweb.freebsd.org/changeset/base/300984 Log: Bump __FreeBSD_cc_version after r300974. Modified: head/lib/clang/include/clang/Basic/Version.inc Modified: head/lib/clang/include/clang/Basic/Version.inc == --- head/lib/clang/include/clang/Basic/Version.inc Mon May 30 05:21:24 2016(r300983) +++ head/lib/clang/include/clang/Basic/Version.inc Mon May 30 06:44:10 2016(r300984) @@ -9,4 +9,4 @@ #defineSVN_REVISION"262564" -#defineFREEBSD_CC_VERSION 112U +#defineFREEBSD_CC_VERSION 113U ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300965 - head/lib/libc/stdlib
On 30.05.2016 6:09, Bruce Evans wrote: > On Sun, 29 May 2016, Conrad Meyer wrote: > >> Does clang actually generate different code with this change? > > It should, on exotic arches. > >> On Sun, May 29, 2016 at 9:39 AM, Andrey A. Chernov >> wrote: >>> Log: >>> Micro optimize: C standard guarantees that right shift for unsigned >>> value >>> fills left bits with zero, and we have exact 32bit unsigned value >>> (uint32_t), so there is no reason to add "& 0x7fff" here. > > Using uint32_t at all is an unportable pessimization. On exotic arches > that don't have native uint32_t registers, a theoretically perfect > implementation wouldn't implement uint32_t. This would expose the > brokenness of broken code, so a practical implementation would emulate > uint32_t so that the broken code would just run slower for arithmetic > and much slower for locked memory operations. > > uint32_t might be implemented not very slowly using 128-bit integer > registers, or more slowly using the 53-bit mantissa part of an IEEE > double precision floating point register. > > If uint32_t is emulated, then the compiler is forced to act as if the > code uses a longer type and does "& 0x" after every operation. > Thes extra operations can only be combined sometimes. More careful > code can use a minimal number of this or similar "&" operations. In > checksum calculations, one "&" at the end is usually enough. > >>> Modified: head/lib/libc/stdlib/random.c > > random.c was mostly written before uint32_t was standard, so it used > u_long and long. Perhaps it wasn't careful enough with the "&"s to > actually work unless u_long is precisely uint32_t and long is normal > 2's complement with benign overflow. > > Anyway, it was "fixed" (unimproved) using s/u_long/uint32_/ in most > places where the API/ABI doesn't require longs (there is 1 dubious > long left in a comment). The correct fix is s/u_long/uint_fast32_t > in most places and s/u_long/uint_least32_t/ in some places and then > fix any missing "&"'s. The "fast" and "least" types always exist, > unlike the fixed-width types, and using them asks for time/space > efficiency instead of emulated fixed-width. > > On non-exotic arches, fast == least == fixed-width, so the correct > substitution works as a quick fix even with missing "&"s. > > It is not necessary to use the newfangled standard integer types to > fix this here, since correct use of long types would work (they give > 32 bits), but long is wasteful if it actually 64 bits or longer. > > Even larger problems are looming with uintmax_t. Any code that is > careful enough to use it is likely to break or be bloated if it is > expanded. This is just like using u_long in old random(). > >>> == >>> >>> --- head/lib/libc/stdlib/random.c Sun May 29 16:32:56 >>> 2016(r300964) >>> +++ head/lib/libc/stdlib/random.c Sun May 29 16:39:28 >>> 2016(r300965) >>> @@ -430,7 +430,7 @@ random(void) >>> */ >>> f = fptr; r = rptr; >>> *f += *r; >>> - i = (*f >> 1) & 0x7fff; /* chucking least >>> random bit */ >>> + i = *f >> 1;/* chucking least random bit */ > > This gives an "&" to restore in the version with correct substitutions. > > It also breaks the indentation. (This file mostly indents comments to the > right of code to column 40, but column 48 was used here and now column 32 > is used.) > >>> if (++f >= end_ptr) { >>> f = state; >>> ++r; > > Bruce > I don't introduce uint32_t and int32_t here and don't have a slightest idea of which types will be better to change them. F.e. *f += *r; suppose unsigned 32bit overflow which don't naturally happens for large types. Assigning uint32_t to some large type then clip it to smaller after calculation - all of that can produce more code than save for calculation itself. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300961 - vendor/one-true-awk/dist
On 29/05/2016 13:17, Cy Schubert wrote: In message <574b2eac.3010...@freebsd.org>, Pedro Giffuni writes: On 29/05/2016 12:37, Cy Schubert wrote: In message <201605291618.u4tgitnj024...@repo.freebsd.org>, "Pedro F. Giffuni" w rites: Author: pfg Date: Sun May 29 16:18:55 2016 New Revision: 300961 URL: https://svnweb.freebsd.org/changeset/base/300961 Log: one-true-awk: replace 0 with NULL for pointers Also remove a redundant semicolon. Submitted upstream already. Modified: vendor/one-true-awk/dist/b.c vendor/one-true-awk/dist/lex.c vendor/one-true-awk/dist/maketab.c vendor/one-true-awk/dist/parse.c vendor/one-true-awk/dist/run.c vendor/one-true-awk/dist/tran.c Was this commit and r300962 obtained from the upline or vendor or were these commits local to FreeBSD only? There is no public awk public repository AFAICT, but bwk acknowledged the submission. The change to openresolv was merged to the public repository. As they've acknowledged the submissions, can you please tag the new versions of awk and openresolve with the correct upstream version numbers, please? That's an impossible request as there are no "correct upstream version numbers". In the case of openresolv, I included the repository revision, but checksums have no chronological sense and should be avoided for tags. In this case using tags for anything other than official releases would be a mess. As stated in our subversion primer (5.4.4): "Vendor patches should be committed to the vendor branch, and merged from there to head. If the patch addresses an issue in a new release that is currently being imported, it /must not/ be committed along with the new release: the release must be imported and tagged first, then the patch can be applied and committed. There is no need to re-tag the vendor sources after committing the patch." Pedro. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r299393 - in head: . share/mk
On 27/05/2016 2:28 AM, John Baldwin wrote: On Wednesday, May 25, 2016 03:27:07 PM Hans Petter Selasky wrote: On 05/11/16 00:32, John Baldwin wrote: Author: jhb Date: Tue May 10 22:32:23 2016 New Revision: 299393 URL: https://svnweb.freebsd.org/changeset/base/299393 Log: Change the default installation directory for modules to /boot/modules. Kernel installs always override KMODDIR when installing modules, so this default setting is only used for standalone module builds. Many out-of-tree modules manually override KMODDIR already to avoid placing modules in /boot/kernel. This now makes that behavior the default. Discussed on:arch@ Reviewed by: imp Relnotes:yes Just a small nit: There is a comment in bsd.own.mk which needs updating too: # # KMODDIR Base path for loadable kernel modules # (see kld(4)). [/boot/kernel] Oops, thanks. Fixed. the comment should also mention it does not cover in-tree modules. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300983 - in head: lib/libc/sys sys/kern
Author: jamie Date: Mon May 30 05:21:24 2016 New Revision: 300983 URL: https://svnweb.freebsd.org/changeset/base/300983 Log: Mark jail(2), and the sysctls that it (and only it) uses as deprecated. jail(8) has long used jail_set(2), and those sysctl only cause confusion. Modified: head/lib/libc/sys/jail.2 head/sys/kern/kern_jail.c Modified: head/lib/libc/sys/jail.2 == --- head/lib/libc/sys/jail.2Mon May 30 04:48:06 2016(r300982) +++ head/lib/libc/sys/jail.2Mon May 30 05:21:24 2016(r300983) @@ -106,7 +106,7 @@ pointers can be set to an arrays of IPv4 the prison, or NULL if none. IPv4 addresses must be in network byte order. .Pp -This is equivalent to the +This is equivalent to, and deprecated in favor of, the .Fn jail_set system call (see below), with the parameters .Va path , Modified: head/sys/kern/kern_jail.c == --- head/sys/kern/kern_jail.c Mon May 30 04:48:06 2016(r300982) +++ head/sys/kern/kern_jail.c Mon May 30 05:21:24 2016(r300983) @@ -4276,7 +4276,7 @@ SYSCTL_PROC(_security_jail, OID_AUTO, vn #if defined(INET) || defined(INET6) SYSCTL_UINT(_security_jail, OID_AUTO, jail_max_af_ips, CTLFLAG_RW, &jail_max_af_ips, 0, -"Number of IP addresses a jail may have at most per address family"); +"Number of IP addresses a jail may have at most per address family (deprecated)"); #endif /* @@ -4316,59 +4316,59 @@ sysctl_jail_default_allow(SYSCTL_HANDLER SYSCTL_PROC(_security_jail, OID_AUTO, set_hostname_allowed, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_SET_HOSTNAME, sysctl_jail_default_allow, "I", -"Processes in jail can set their hostnames"); +"Processes in jail can set their hostnames (deprecated)"); SYSCTL_PROC(_security_jail, OID_AUTO, socket_unixiproute_only, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, (void *)1, PR_ALLOW_SOCKET_AF, sysctl_jail_default_allow, "I", -"Processes in jail are limited to creating UNIX/IP/route sockets only"); +"Processes in jail are limited to creating UNIX/IP/route sockets only (deprecated)"); SYSCTL_PROC(_security_jail, OID_AUTO, sysvipc_allowed, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_SYSVIPC, sysctl_jail_default_allow, "I", -"Processes in jail can use System V IPC primitives"); +"Processes in jail can use System V IPC primitives (deprecated)"); SYSCTL_PROC(_security_jail, OID_AUTO, allow_raw_sockets, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_RAW_SOCKETS, sysctl_jail_default_allow, "I", -"Prison root can create raw sockets"); +"Prison root can create raw sockets (deprecated)"); SYSCTL_PROC(_security_jail, OID_AUTO, chflags_allowed, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_CHFLAGS, sysctl_jail_default_allow, "I", -"Processes in jail can alter system file flags"); +"Processes in jail can alter system file flags (deprecated)"); SYSCTL_PROC(_security_jail, OID_AUTO, mount_allowed, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_MOUNT, sysctl_jail_default_allow, "I", -"Processes in jail can mount/unmount jail-friendly file systems"); +"Processes in jail can mount/unmount jail-friendly file systems (deprecated)"); SYSCTL_PROC(_security_jail, OID_AUTO, mount_devfs_allowed, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_MOUNT_DEVFS, sysctl_jail_default_allow, "I", -"Processes in jail can mount the devfs file system"); +"Processes in jail can mount the devfs file system (deprecated)"); SYSCTL_PROC(_security_jail, OID_AUTO, mount_fdescfs_allowed, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_MOUNT_FDESCFS, sysctl_jail_default_allow, "I", -"Processes in jail can mount the fdescfs file system"); +"Processes in jail can mount the fdescfs file system (deprecated)"); SYSCTL_PROC(_security_jail, OID_AUTO, mount_nullfs_allowed, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_MOUNT_NULLFS, sysctl_jail_default_allow, "I", -"Processes in jail can mount the nullfs file system"); +"Processes in jail can mount the nullfs file system (deprecated)"); SYSCTL_PROC(_security_jail, OID_AUTO, mount_procfs_allowed, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_MOUNT_PROCFS, sysctl_jail_default_allow, "I", -"Processes in jail can mount the procfs file system"); +"Processes in jail can mount the procfs file system (deprecated)"); SYSCTL_PROC(_security_jail, OID_AUTO, mount_linprocfs_allowed, CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, PR_ALLOW_MOUNT_LINPROCFS, sysctl_jail_default_allow, "I", -"Processes in jail can mount the linprocfs file system"); +"Processes in jail can mount the linprocfs file system (deprecated)"); SYSCTL_PROC(_security_jail,
Re: svn commit: r300956 - head/lib/libc/stdlib
On 30.05.2016 5:17, Bruce Evans wrote: > On Sun, 29 May 2016, Andrey A. Chernov wrote: > >> Log: >> 1) Unifdef USE_WEAK_SEEDING since it is too obsolete to support and >> makes >> reading hard. > > Good. > >> 2) Instead of doing range transformation in each and every function >> here, >> do it single time directly in do_rand(). One "mod" operation overhead >> is not >> a big deal, but the code looks nicer and possible future functions >> additions >> or PRNG change do not miss range transformations neither have >> unneeded ones. > > The whole implementation is silly. It is manually optimized for 1980's > compilers. More below. > >> 3) Use POSIX argument types for visible functions (cosmetic). > > Not sure I like type changes. > >> Modified: head/lib/libc/stdlib/rand.c >> == >> >> --- head/lib/libc/stdlib/rand.cSun May 29 12:21:54 2016(r300955) >> +++ head/lib/libc/stdlib/rand.cSun May 29 13:57:06 2016(r300956) >> @@ -48,14 +48,6 @@ __FBSDID("$FreeBSD$"); >> static int >> do_rand(unsigned long *ctx) >> { >> -#ifdef USE_WEAK_SEEDING >> -/* >> - * Historic implementation compatibility. >> - * The random sequences do not vary much with the seed, >> - * even with overflowing. >> - */ >> -return ((*ctx = *ctx * 1103515245 + 12345) % ((u_long)RAND_MAX + >> 1)); > > This is a good implementation of a not very good LCG, made very bad by > botching RAND_MAX. The magic numbers except for RAND_MAX are copied > from the example in the C90 spec. I think they are good enough there. > The comment in at least the C99 spec says "// RAND_MAX assumed to be > 32767". This means that these magic numbers were chosen to work with > this value of RAND_MAX. (unsigned) longs are used to give a period > much longer than RAND_MAX and for technical reasons. Taking the modulo > to many fewer bits than the minimum of 32 for an unsigned long then > disguises the linearity. The BSD version almost completly breaks this > on arches with 32 bit longs by taking the modulo to 31 bits (mod 32 bits > would give complete breakage). Arches with 64-bit longs accidentally > work a bit better, by the coefficients are poorly chosen -- they should > be 64 bits and the arithmetic 128 bits. > >> -#else /* !USE_WEAK_SEEDING */ >> /* >> * Compute x = (7^5 * x) mod (2^31 - 1) >> * without overflowing 31 bits: > > These coefficients are probably better, but they are still basically > 32-bit ones and thus not very good for more than a 15-bit RAND_MAX, > and the details of the calculation are excessively optimized for 1980's > compilers and 32-bit uintmax_t. > > This can be written as x = (1687 * x) % 2147483647 (with some care about > type sizes and signedness and overflow. It then looks like an even worse > LCG than the botched C90 one, at least with the botch making its internals > more visible. E.g., when x = 1, the first couple of iterations don't even > involve the linear term in 31 bits. > > Even 1980's compiler technology was not far from reducing the division > to a multiplication. The LCG expression would then reduce to > (uintN_t)(A * x + B) where N is either 32 or 64. Perhaps N needs to > be 64 even with the small coeefficients, due to the divisor being large > and not a power of 2. But if we have 64-bit arithmetic, then we can > choose much better coefficients than the C90 32-bit ones or the ACM > barely 16-bit ones, and uses A * x + B directly, giving a 64-bit period, > and have a chance of our 31-bit RAND_MAX finally working. > >> @@ -66,48 +58,34 @@ do_rand(unsigned long *ctx) >> */ >> long hi, lo, x; >> >> -/* Must be in [1, 0x7ffe] range at this point. */ >> -hi = *ctx / 127773; >> -lo = *ctx % 127773; >> +/* Transform to [1, 0x7ffe] range. */ >> +x = (*ctx % 0x7ffe) + 1; >> +hi = x / 127773; >> +lo = x % 127773; >> x = 16807 * lo - 2836 * hi; >> if (x < 0) >> x += 0x7fff; > > This does the division more magically but more slowly than the compiler > would do. It uses one division and one remainder, and doesn't use > the newfangled (late 1980's) ldiv() function to explicitly try to > reduce these to one hardware divrem operation. But compilers can > easily do this reduction. I think compilers can't easily (or perhaps > at all) reduce to an A * x + B expression. It isn't clear if using > signed long here makes things easier or harder for compilers. The > algorithm is special to avoid overflow with signed longs, but it the > compiler might not understand this. Then -fwrapv would inhibit it > from doing much reduction, and -fno-wrapv is just complicated. > >> -*ctx = x; >> /* Transform to [0, 0x7ffd] range. */ >> -return (x - 1); >> -#endif /* !USE_WEAK_SEEDING */ >> +x--; >> +*ctx = x; >> +return (x); >> } >> >> >> int >> -rand_r(unsigned int *ctx) >> +rand_r(unsigned *ctx) > > You didn't change the type, but fi
svn commit: r300982 - head/sys/sys
Author: sephe Date: Mon May 30 04:48:06 2016 New Revision: 300982 URL: https://svnweb.freebsd.org/changeset/base/300982 Log: mbuf: Add a flag for M_HASHTYPE_ to indicate the type has hash properties This flag has not been used, and drivers setting M_HASHTYPE_OPAQUE have not been converted as of this commit. Reviewed by: hps, gallatin (early version) Sponsored by: Microsoft OSTC Differential Revision:https://reviews.freebsd.org/D6406 Modified: head/sys/sys/mbuf.h head/sys/sys/param.h Modified: head/sys/sys/mbuf.h == --- head/sys/sys/mbuf.h Mon May 30 03:31:37 2016(r300981) +++ head/sys/sys/mbuf.h Mon May 30 04:48:06 2016(r300982) @@ -318,30 +318,41 @@ struct mbuf { * * Most NICs support RSS, which provides ordering and explicit affinity, and * use the hash m_flag bits to indicate what header fields were covered by - * the hash. M_HASHTYPE_OPAQUE can be set by non-RSS cards or configurations - * that provide an opaque flow identifier, allowing for ordering and - * distribution without explicit affinity. + * the hash. M_HASHTYPE_OPAQUE and M_HASHTYPE_OPAQUE_HASH can be set by non- + * RSS cards or configurations that provide an opaque flow identifier, allowing + * for ordering and distribution without explicit affinity. Additionally, + * M_HASHTYPE_OPAQUE_HASH indicates that the flow identifier has hash + * properties. */ +#defineM_HASHTYPE_HASHPROP 0x80/* has hash properties */ +#defineM_HASHTYPE_HASH(t) (M_HASHTYPE_HASHPROP | (t)) /* Microsoft RSS standard hash types */ #defineM_HASHTYPE_NONE 0 -#defineM_HASHTYPE_RSS_IPV4 1 /* IPv4 2-tuple */ -#defineM_HASHTYPE_RSS_TCP_IPV4 2 /* TCPv4 4-tuple */ -#defineM_HASHTYPE_RSS_IPV6 3 /* IPv6 2-tuple */ -#defineM_HASHTYPE_RSS_TCP_IPV6 4 /* TCPv6 4-tuple */ -#defineM_HASHTYPE_RSS_IPV6_EX 5 /* IPv6 2-tuple + ext hdrs */ -#defineM_HASHTYPE_RSS_TCP_IPV6_EX 6 /* TCPv6 4-tiple + ext hdrs */ +#defineM_HASHTYPE_RSS_IPV4 M_HASHTYPE_HASH(1) /* IPv4 2-tuple */ +#defineM_HASHTYPE_RSS_TCP_IPV4 M_HASHTYPE_HASH(2) /* TCPv4 4-tuple */ +#defineM_HASHTYPE_RSS_IPV6 M_HASHTYPE_HASH(3) /* IPv6 2-tuple */ +#defineM_HASHTYPE_RSS_TCP_IPV6 M_HASHTYPE_HASH(4) /* TCPv6 4-tuple */ +#defineM_HASHTYPE_RSS_IPV6_EX M_HASHTYPE_HASH(5) /* IPv6 2-tuple + + * ext hdrs */ +#defineM_HASHTYPE_RSS_TCP_IPV6_EX M_HASHTYPE_HASH(6) /* TCPv6 4-tiple + + * ext hdrs */ /* Non-standard RSS hash types */ -#defineM_HASHTYPE_RSS_UDP_IPV4 7 /* IPv4 UDP 4-tuple */ -#defineM_HASHTYPE_RSS_UDP_IPV4_EX 8 /* IPv4 UDP 4-tuple + ext hdrs */ -#defineM_HASHTYPE_RSS_UDP_IPV6 9 /* IPv6 UDP 4-tuple */ -#defineM_HASHTYPE_RSS_UDP_IPV6_EX 10 /* IPv6 UDP 4-tuple + ext hdrs */ - -#defineM_HASHTYPE_OPAQUE 255 /* ordering, not affinity */ +#defineM_HASHTYPE_RSS_UDP_IPV4 M_HASHTYPE_HASH(7) /* IPv4 UDP 4-tuple*/ +#defineM_HASHTYPE_RSS_UDP_IPV4_EX M_HASHTYPE_HASH(8) /* IPv4 UDP 4-tuple + + * ext hdrs */ +#defineM_HASHTYPE_RSS_UDP_IPV6 M_HASHTYPE_HASH(9) /* IPv6 UDP 4-tuple*/ +#defineM_HASHTYPE_RSS_UDP_IPV6_EX M_HASHTYPE_HASH(10)/* IPv6 UDP 4-tuple + + * ext hdrs */ + +#defineM_HASHTYPE_OPAQUE 63 /* ordering, not affinity */ +#defineM_HASHTYPE_OPAQUE_HASH M_HASHTYPE_HASH(M_HASHTYPE_OPAQUE) + /* ordering+hash, not affinity*/ #defineM_HASHTYPE_CLEAR(m) ((m)->m_pkthdr.rsstype = 0) #defineM_HASHTYPE_GET(m) ((m)->m_pkthdr.rsstype) #defineM_HASHTYPE_SET(m, v)((m)->m_pkthdr.rsstype = (v)) #defineM_HASHTYPE_TEST(m, v) (M_HASHTYPE_GET(m) == (v)) +#defineM_HASHTYPE_ISHASH(m)(M_HASHTYPE_GET(m) & M_HASHTYPE_HASHPROP) /* * COS/QOS class and quality of service tags. Modified: head/sys/sys/param.h == --- head/sys/sys/param.hMon May 30 03:31:37 2016(r300981) +++ head/sys/sys/param.hMon May 30 04:48:06 2016(r300982) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1100114 /* Master, propagated to newvers */ +#define __FreeBSD_version 1100115 /* Master, propagated to newver
svn commit: r300981 - head/sys/netinet
Author: sephe Date: Mon May 30 03:31:37 2016 New Revision: 300981 URL: https://svnweb.freebsd.org/changeset/base/300981 Log: tcp: Don't prematurely drop receiving-only connections If the connection was persistent and receiving-only, several (12) sporadic device insufficient buffers would cause the connection be dropped prematurely: Upon ENOBUFS in tcp_output() for an ACK, retransmission timer is started. No one will stop this retransmission timer for receiving- only connection, so the retransmission timer promises to expire and t_rxtshift is promised to be increased. And t_rxtshift will not be reset to 0, since no RTT measurement will be done for receiving-only connection. If this receiving-only connection lived long enough (e.g. >350sec, given the RTO starts from 200ms), and it suffered 12 sporadic device insufficient buffers, i.e. t_rxtshift >= 12, this receiving-only connection would be dropped prematurely by the retransmission timer. We now assert that for data segments, SYNs or FINs either rexmit or persist timer was wired upon ENOBUFS. And don't set rexmit timer for other cases, i.e. ENOBUFS upon ACKs. Discussed with: lstewart, hiren, jtl, Mike Karels MFC after:3 weeks Sponsored by: Microsoft OSTC Differential Revision:https://reviews.freebsd.org/D5872 Modified: head/sys/netinet/tcp_output.c Modified: head/sys/netinet/tcp_output.c == --- head/sys/netinet/tcp_output.c Mon May 30 02:09:19 2016 (r300980) +++ head/sys/netinet/tcp_output.c Mon May 30 03:31:37 2016 (r300981) @@ -130,6 +130,16 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, send &VNET_NAME(tcp_autosndbuf_max), 0, "Max size of automatic send buffer"); +/* + * Make sure that either retransmit or persist timer is set for SYN, FIN and + * non-ACK. + */ +#define TCP_XMIT_TIMER_ASSERT(tp, len, th_flags) \ + KASSERT(((len) == 0 && ((th_flags) & (TH_SYN | TH_FIN)) == 0) ||\ + tcp_timer_active((tp), TT_REXMT) || \ + tcp_timer_active((tp), TT_PERSIST), \ + ("neither rexmt nor persist timer is set")) + static void inline hhook_run_tcp_est_out(struct tcpcb *tp, struct tcphdr *th, struct tcpopt *to, long len, int tso); @@ -1545,9 +1555,7 @@ timer: tp->t_softerror = error; return (error); case ENOBUFS: - if (!tcp_timer_active(tp, TT_REXMT) && - !tcp_timer_active(tp, TT_PERSIST)) - tcp_timer_activate(tp, TT_REXMT, tp->t_rxtcur); + TCP_XMIT_TIMER_ASSERT(tp, len, flags); tp->snd_cwnd = tp->t_maxseg; return (0); case EMSGSIZE: ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300965 - head/lib/libc/stdlib
On Sun, 29 May 2016, Conrad Meyer wrote: Does clang actually generate different code with this change? It should, on exotic arches. On Sun, May 29, 2016 at 9:39 AM, Andrey A. Chernov wrote: Log: Micro optimize: C standard guarantees that right shift for unsigned value fills left bits with zero, and we have exact 32bit unsigned value (uint32_t), so there is no reason to add "& 0x7fff" here. Using uint32_t at all is an unportable pessimization. On exotic arches that don't have native uint32_t registers, a theoretically perfect implementation wouldn't implement uint32_t. This would expose the brokenness of broken code, so a practical implementation would emulate uint32_t so that the broken code would just run slower for arithmetic and much slower for locked memory operations. uint32_t might be implemented not very slowly using 128-bit integer registers, or more slowly using the 53-bit mantissa part of an IEEE double precision floating point register. If uint32_t is emulated, then the compiler is forced to act as if the code uses a longer type and does "& 0x" after every operation. Thes extra operations can only be combined sometimes. More careful code can use a minimal number of this or similar "&" operations. In checksum calculations, one "&" at the end is usually enough. Modified: head/lib/libc/stdlib/random.c random.c was mostly written before uint32_t was standard, so it used u_long and long. Perhaps it wasn't careful enough with the "&"s to actually work unless u_long is precisely uint32_t and long is normal 2's complement with benign overflow. Anyway, it was "fixed" (unimproved) using s/u_long/uint32_/ in most places where the API/ABI doesn't require longs (there is 1 dubious long left in a comment). The correct fix is s/u_long/uint_fast32_t in most places and s/u_long/uint_least32_t/ in some places and then fix any missing "&"'s. The "fast" and "least" types always exist, unlike the fixed-width types, and using them asks for time/space efficiency instead of emulated fixed-width. On non-exotic arches, fast == least == fixed-width, so the correct substitution works as a quick fix even with missing "&"s. It is not necessary to use the newfangled standard integer types to fix this here, since correct use of long types would work (they give 32 bits), but long is wasteful if it actually 64 bits or longer. Even larger problems are looming with uintmax_t. Any code that is careful enough to use it is likely to break or be bloated if it is expanded. This is just like using u_long in old random(). == --- head/lib/libc/stdlib/random.c Sun May 29 16:32:56 2016 (r300964) +++ head/lib/libc/stdlib/random.c Sun May 29 16:39:28 2016 (r300965) @@ -430,7 +430,7 @@ random(void) */ f = fptr; r = rptr; *f += *r; - i = (*f >> 1) & 0x7fff; /* chucking least random bit */ + i = *f >> 1;/* chucking least random bit */ This gives an "&" to restore in the version with correct substitutions. It also breaks the indentation. (This file mostly indents comments to the right of code to column 40, but column 48 was used here and now column 32 is used.) if (++f >= end_ptr) { f = state; ++r; Bruce ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300956 - head/lib/libc/stdlib
On Sun, 29 May 2016, Andrey A. Chernov wrote: Log: 1) Unifdef USE_WEAK_SEEDING since it is too obsolete to support and makes reading hard. Good. 2) Instead of doing range transformation in each and every function here, do it single time directly in do_rand(). One "mod" operation overhead is not a big deal, but the code looks nicer and possible future functions additions or PRNG change do not miss range transformations neither have unneeded ones. The whole implementation is silly. It is manually optimized for 1980's compilers. More below. 3) Use POSIX argument types for visible functions (cosmetic). Not sure I like type changes. Modified: head/lib/libc/stdlib/rand.c == --- head/lib/libc/stdlib/rand.c Sun May 29 12:21:54 2016(r300955) +++ head/lib/libc/stdlib/rand.c Sun May 29 13:57:06 2016(r300956) @@ -48,14 +48,6 @@ __FBSDID("$FreeBSD$"); static int do_rand(unsigned long *ctx) { -#ifdef USE_WEAK_SEEDING -/* - * Historic implementation compatibility. - * The random sequences do not vary much with the seed, - * even with overflowing. - */ - return ((*ctx = *ctx * 1103515245 + 12345) % ((u_long)RAND_MAX + 1)); This is a good implementation of a not very good LCG, made very bad by botching RAND_MAX. The magic numbers except for RAND_MAX are copied from the example in the C90 spec. I think they are good enough there. The comment in at least the C99 spec says "// RAND_MAX assumed to be 32767". This means that these magic numbers were chosen to work with this value of RAND_MAX. (unsigned) longs are used to give a period much longer than RAND_MAX and for technical reasons. Taking the modulo to many fewer bits than the minimum of 32 for an unsigned long then disguises the linearity. The BSD version almost completly breaks this on arches with 32 bit longs by taking the modulo to 31 bits (mod 32 bits would give complete breakage). Arches with 64-bit longs accidentally work a bit better, by the coefficients are poorly chosen -- they should be 64 bits and the arithmetic 128 bits. -#else /* !USE_WEAK_SEEDING */ /* * Compute x = (7^5 * x) mod (2^31 - 1) * without overflowing 31 bits: These coefficients are probably better, but they are still basically 32-bit ones and thus not very good for more than a 15-bit RAND_MAX, and the details of the calculation are excessively optimized for 1980's compilers and 32-bit uintmax_t. This can be written as x = (1687 * x) % 2147483647 (with some care about type sizes and signedness and overflow. It then looks like an even worse LCG than the botched C90 one, at least with the botch making its internals more visible. E.g., when x = 1, the first couple of iterations don't even involve the linear term in 31 bits. Even 1980's compiler technology was not far from reducing the division to a multiplication. The LCG expression would then reduce to (uintN_t)(A * x + B) where N is either 32 or 64. Perhaps N needs to be 64 even with the small coeefficients, due to the divisor being large and not a power of 2. But if we have 64-bit arithmetic, then we can choose much better coefficients than the C90 32-bit ones or the ACM barely 16-bit ones, and uses A * x + B directly, giving a 64-bit period, and have a chance of our 31-bit RAND_MAX finally working. @@ -66,48 +58,34 @@ do_rand(unsigned long *ctx) */ long hi, lo, x; - /* Must be in [1, 0x7ffe] range at this point. */ - hi = *ctx / 127773; - lo = *ctx % 127773; + /* Transform to [1, 0x7ffe] range. */ + x = (*ctx % 0x7ffe) + 1; + hi = x / 127773; + lo = x % 127773; x = 16807 * lo - 2836 * hi; if (x < 0) x += 0x7fff; This does the division more magically but more slowly than the compiler would do. It uses one division and one remainder, and doesn't use the newfangled (late 1980's) ldiv() function to explicitly try to reduce these to one hardware divrem operation. But compilers can easily do this reduction. I think compilers can't easily (or perhaps at all) reduce to an A * x + B expression. It isn't clear if using signed long here makes things easier or harder for compilers. The algorithm is special to avoid overflow with signed longs, but it the compiler might not understand this. Then -fwrapv would inhibit it from doing much reduction, and -fno-wrapv is just complicated. - *ctx = x; /* Transform to [0, 0x7ffd] range. */ - return (x - 1); -#endif /* !USE_WEAK_SEEDING */ + x--; + *ctx = x; + return (x); } int -rand_r(unsigned int *ctx) +rand_r(unsigned *ctx) You didn't change the type, but fixed a style bug (the verbose spelling of "unsigned") :-). It is interesting that the style bug is missing in POSIX. I thought that standards mostly got this wrong. Actually, POSIX almost never uses the verbose spelling. In the a 2001 draft, it has just 2 inst
svn commit: r300980 - head
Author: lidl Date: Mon May 30 02:09:19 2016 New Revision: 300980 URL: https://svnweb.freebsd.org/changeset/base/300980 Log: Remove extraneous altq header files At some point during stable/10, the headers altq_codel.h and altq_fairq.h where added to /usr/include/altq, before all of altq was moved to /usr/include/net/altq. Reviewed by: rpaulo Approved by: rpaulo Differential Revision:https://reviews.freebsd.org/D6596 Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc == --- head/ObsoleteFiles.inc Mon May 30 01:21:44 2016(r300979) +++ head/ObsoleteFiles.inc Mon May 30 02:09:19 2016(r300980) @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20160523: remove extranous ALTQ files +OLD_FILES+=usr/include/altq/altq_codel.h +OLD_FILES+=usr/include/altq/altq_fairq.h # 20160519: remove DTrace Toolkit from base OLD_FILES+=usr/share/dtrace/toolkit/execsnoop OLD_FILES+=usr/share/dtrace/toolkit/hotkernel ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300979 - stable/10/sys/netpfil/pf
Author: kp Date: Mon May 30 01:21:44 2016 New Revision: 300979 URL: https://svnweb.freebsd.org/changeset/base/300979 Log: MFC 300501, 300508 pf: Fix ICMP translation Fix ICMP source address rewriting in rdr scenarios. pf: Fix more ICMP mistranslation In the default case fix the substitution of the destination address. PR: 201519 Submitted by: Max Modified: stable/10/sys/netpfil/pf/pf.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/netpfil/pf/pf.c == --- stable/10/sys/netpfil/pf/pf.c Sun May 29 23:30:36 2016 (r300978) +++ stable/10/sys/netpfil/pf/pf.c Mon May 30 01:21:44 2016 (r300979) @@ -4807,8 +4807,7 @@ pf_test_state_icmp(struct pf_state **sta &nk->addr[pd2.didx], pd2.af) || nk->port[pd2.didx] != th.th_dport) pf_change_icmp(pd2.dst, &th.th_dport, - NULL, /* XXX Inbound NAT? */ - &nk->addr[pd2.didx], + saddr, &nk->addr[pd2.didx], nk->port[pd2.didx], NULL, pd2.ip_sum, icmpsum, pd->ip_sum, 0, pd2.af); @@ -4880,8 +4879,7 @@ pf_test_state_icmp(struct pf_state **sta &nk->addr[pd2.didx], pd2.af) || nk->port[pd2.didx] != uh.uh_dport) pf_change_icmp(pd2.dst, &uh.uh_dport, - NULL, /* XXX Inbound NAT? */ - &nk->addr[pd2.didx], + saddr, &nk->addr[pd2.didx], nk->port[pd2.didx], &uh.uh_sum, pd2.ip_sum, icmpsum, pd->ip_sum, 1, pd2.af); @@ -4948,8 +4946,7 @@ pf_test_state_icmp(struct pf_state **sta &nk->addr[pd2.didx], pd2.af) || nk->port[pd2.didx] != iih.icmp_id) pf_change_icmp(pd2.dst, &iih.icmp_id, - NULL, /* XXX Inbound NAT? */ - &nk->addr[pd2.didx], + saddr, &nk->addr[pd2.didx], nk->port[pd2.didx], NULL, pd2.ip_sum, icmpsum, pd->ip_sum, 0, AF_INET); @@ -5001,8 +4998,7 @@ pf_test_state_icmp(struct pf_state **sta &nk->addr[pd2.didx], pd2.af) || nk->port[pd2.didx] != iih.icmp6_id) pf_change_icmp(pd2.dst, &iih.icmp6_id, - NULL, /* XXX Inbound NAT? */ - &nk->addr[pd2.didx], + saddr, &nk->addr[pd2.didx], nk->port[pd2.didx], NULL, pd2.ip_sum, icmpsum, pd->ip_sum, 0, AF_INET6); @@ -5041,8 +5037,7 @@ pf_test_state_icmp(struct pf_state **sta if (PF_ANEQ(pd2.dst, &nk->addr[pd2.didx], pd2.af)) - pf_change_icmp(pd2.src, NULL, - NULL, /* XXX Inbound NAT? */ + pf_change_icmp(pd2.dst, NULL, saddr, &nk->addr[pd2.didx], 0, NULL, pd2.ip_sum, icmpsum, pd->ip_sum, 0, pd2.af); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300978 - stable/10/sys/fs/fuse
Author: rmacklem Date: Sun May 29 23:30:36 2016 New Revision: 300978 URL: https://svnweb.freebsd.org/changeset/base/300978 Log: MFC: r299872 Fix fuse for "cp" of a mode 0444 file to the file system. When "cp" of a file with read-only (mode 0444) to a fuse mounted file system was attempted it would fail with EACCES. This was because fuse would attempt to open the file WRONLY and the open would fail. This patch changes the fuse_vnop_open() to test for an extant read-write open and use that, if it is available. This makes the "cp" of a read-only file to the fuse mounted file system work ok. There are simpler ways to fix this than adding the fuse_filehandle_validrw() function, but this function is useful for future patches related to exporting a fuse filesystem via NFS. Modified: stable/10/sys/fs/fuse/fuse_file.c stable/10/sys/fs/fuse/fuse_file.h stable/10/sys/fs/fuse/fuse_vnops.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/fs/fuse/fuse_file.c == --- stable/10/sys/fs/fuse/fuse_file.c Sun May 29 23:05:14 2016 (r300977) +++ stable/10/sys/fs/fuse/fuse_file.c Sun May 29 23:30:36 2016 (r300978) @@ -216,6 +216,28 @@ fuse_filehandle_valid(struct vnode *vp, return FUFH_IS_VALID(fufh); } +/* + * Check for a valid file handle, first the type requested, but if that + * isn't valid, try for FUFH_RDWR. + * Return the FUFH type that is valid or FUFH_INVALID if there are none. + * This is a variant of fuse_filehandle_vaild() analogous to + * fuse_filehandle_getrw(). + */ +fufh_type_t +fuse_filehandle_validrw(struct vnode *vp, fufh_type_t fufh_type) +{ + struct fuse_vnode_data *fvdat = VTOFUD(vp); + struct fuse_filehandle *fufh; + + fufh = &fvdat->fufh[fufh_type]; + if (FUFH_IS_VALID(fufh) != 0) + return (fufh_type); + fufh = &fvdat->fufh[FUFH_RDWR]; + if (FUFH_IS_VALID(fufh) != 0) + return (FUFH_RDWR); + return (FUFH_INVALID); +} + int fuse_filehandle_get(struct vnode *vp, fufh_type_t fufh_type, struct fuse_filehandle **fufhp) Modified: stable/10/sys/fs/fuse/fuse_file.h == --- stable/10/sys/fs/fuse/fuse_file.h Sun May 29 23:05:14 2016 (r300977) +++ stable/10/sys/fs/fuse/fuse_file.h Sun May 29 23:30:36 2016 (r300978) @@ -137,6 +137,7 @@ fuse_filehandle_xlate_to_oflags(fufh_typ } int fuse_filehandle_valid(struct vnode *vp, fufh_type_t fufh_type); +fufh_type_t fuse_filehandle_validrw(struct vnode *vp, fufh_type_t fufh_type); int fuse_filehandle_get(struct vnode *vp, fufh_type_t fufh_type, struct fuse_filehandle **fufhp); int fuse_filehandle_getrw(struct vnode *vp, fufh_type_t fufh_type, Modified: stable/10/sys/fs/fuse/fuse_vnops.c == --- stable/10/sys/fs/fuse/fuse_vnops.c Sun May 29 23:05:14 2016 (r300977) +++ stable/10/sys/fs/fuse/fuse_vnops.c Sun May 29 23:30:36 2016 (r300978) @@ -1153,7 +1153,7 @@ fuse_vnop_open(struct vop_open_args *ap) fuse_open_flags = FOPEN_DIRECT_IO; } - if (fuse_filehandle_valid(vp, fufh_type)) { + if (fuse_filehandle_validrw(vp, fufh_type) != FUFH_INVALID) { fuse_vnode_open(vp, fuse_open_flags, td); return 0; } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300977 - stable/10/sys/fs/fuse
Author: rmacklem Date: Sun May 29 23:05:14 2016 New Revision: 300977 URL: https://svnweb.freebsd.org/changeset/base/300977 Log: MFC: r299816 Fix fuse so that stale buffer cache data isn't read. When I/O on a file under fuse is switched from buffered to DIRECT_IO, it was possible to read stale (before a recent modification) data from the buffer cache. This patch invalidates the buffer cache for the file to fix this. Modified: stable/10/sys/fs/fuse/fuse_node.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/fs/fuse/fuse_node.c == --- stable/10/sys/fs/fuse/fuse_node.c Sun May 29 22:28:39 2016 (r300976) +++ stable/10/sys/fs/fuse/fuse_node.c Sun May 29 23:05:14 2016 (r300977) @@ -289,7 +289,9 @@ fuse_vnode_open(struct vnode *vp, int32_ * XXXIP: Handle fd based DIRECT_IO */ if (fuse_open_flags & FOPEN_DIRECT_IO) { + ASSERT_VOP_ELOCKED(vp, __func__); VTOFUD(vp)->flag |= FN_DIRECTIO; + fuse_io_invalbuf(vp, td); } else { VTOFUD(vp)->flag &= ~FN_DIRECTIO; } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300976 - head/share/timedef
Author: bapt Date: Sun May 29 22:28:39 2016 New Revision: 300976 URL: https://svnweb.freebsd.org/changeset/base/300976 Log: Regenerate timedef: For Russian: - Convert AM/PM which are badly formatted in CLDR to replace it by the proper cyrillic - Add a dependency on Text::Iconv so non unicode get the proper encoding for AM/PM - fix the date format having 'r.,' and convert it to 'r.' (also fixed in Bulgarian) For All: - Use complete Day of Week instead of the abbreviated one Reported by: ache Modified: head/share/timedef/am_ET.UTF-8.src head/share/timedef/be_BY.CP1131.src head/share/timedef/be_BY.CP1251.src head/share/timedef/be_BY.ISO8859-5.src head/share/timedef/be_BY.UTF-8.src head/share/timedef/bg_BG.CP1251.src head/share/timedef/bg_BG.UTF-8.src head/share/timedef/ca_IT.ISO8859-15.src head/share/timedef/ca_IT.UTF-8.src head/share/timedef/el_GR.ISO8859-7.src head/share/timedef/el_GR.UTF-8.src head/share/timedef/en_CA.UTF-8.src head/share/timedef/en_GB.UTF-8.src head/share/timedef/en_HK.UTF-8.src head/share/timedef/en_IE.UTF-8.src head/share/timedef/en_PH.UTF-8.src head/share/timedef/en_SG.UTF-8.src head/share/timedef/en_US.UTF-8.src head/share/timedef/fr_BE.ISO8859-15.src head/share/timedef/fr_BE.UTF-8.src head/share/timedef/fr_CA.ISO8859-15.src head/share/timedef/fr_CA.UTF-8.src head/share/timedef/fr_CH.ISO8859-15.src head/share/timedef/fr_CH.UTF-8.src head/share/timedef/fr_FR.ISO8859-15.src head/share/timedef/fr_FR.UTF-8.src head/share/timedef/hi_IN.ISCII-DEV.src head/share/timedef/hi_IN.UTF-8.src head/share/timedef/hy_AM.ARMSCII-8.src head/share/timedef/hy_AM.UTF-8.src head/share/timedef/it_CH.ISO8859-15.src head/share/timedef/it_CH.UTF-8.src head/share/timedef/it_IT.ISO8859-15.src head/share/timedef/it_IT.UTF-8.src head/share/timedef/kk_Cyrl_KZ.UTF-8.src head/share/timedef/nl_BE.UTF-8.src head/share/timedef/nl_NL.UTF-8.src head/share/timedef/pl_PL.ISO8859-2.src head/share/timedef/pl_PL.UTF-8.src head/share/timedef/ro_RO.ISO8859-2.src head/share/timedef/ro_RO.UTF-8.src head/share/timedef/ru_RU.CP1251.src head/share/timedef/ru_RU.CP866.src head/share/timedef/ru_RU.ISO8859-5.src head/share/timedef/ru_RU.KOI8-R.src head/share/timedef/ru_RU.UTF-8.src head/share/timedef/sv_FI.ISO8859-15.src head/share/timedef/sv_FI.UTF-8.src head/share/timedef/sv_SE.ISO8859-15.src head/share/timedef/sv_SE.UTF-8.src head/share/timedef/tr_TR.ISO8859-9.src head/share/timedef/tr_TR.UTF-8.src head/share/timedef/uk_UA.CP1251.src head/share/timedef/uk_UA.ISO8859-5.src head/share/timedef/uk_UA.KOI8-U.src head/share/timedef/uk_UA.UTF-8.src Modified: head/share/timedef/am_ET.UTF-8.src == Binary file (source and/or target). No diff available. Modified: head/share/timedef/be_BY.CP1131.src == Binary file (source and/or target). No diff available. Modified: head/share/timedef/be_BY.CP1251.src == Binary file (source and/or target). No diff available. Modified: head/share/timedef/be_BY.ISO8859-5.src == Binary file (source and/or target). No diff available. Modified: head/share/timedef/be_BY.UTF-8.src == Binary file (source and/or target). No diff available. Modified: head/share/timedef/bg_BG.CP1251.src == --- head/share/timedef/bg_BG.CP1251.src Sun May 29 22:27:42 2016 (r300975) +++ head/share/timedef/bg_BG.CP1251.src Sun May 29 22:28:39 2016 (r300976) @@ -56,14 +56,14 @@ %e.%m.%y г. # # c_fmt -%a %e %B %Y �., %H:%M:%S +%A %e %B %Y �. %H:%M:%S # # AM/PM ��.��. ��.��. # # date_fmt -%a %e %B %Y �., %H:%M:%S %Z +%A %e %B %Y �. %H:%M:%S %Z # # Long month names (without case ending) �� Modified: head/share/timedef/bg_BG.UTF-8.src == Binary file (source and/or target). No diff available. Modified: head/share/timedef/ca_IT.ISO8859-15.src == --- head/share/timedef/ca_IT.ISO8859-15.src Sun May 29 22:27:42 2016 (r300975) +++ head/share/timedef/ca_IT.ISO8859-15.src Sun May 29 22:28:39 2016 (r300976) @@ -56,14 +56,14 @@ dissabte %e/%m/%y # # c_fmt -%a %e %B de %Y, %H:%M:%S +%A %e %B de %Y, %H:%M:%S # # AM/PM a. m. p. m. # # date_fmt -%a %e %B de %Y, %H:%M:%S %Z +%A %e %B de %Y, %H:%M:%S %Z # # Long month names (without case ending) de gener Modified: head/share/timedef/ca_IT.UTF-8.src =
svn commit: r300975 - head/tools/tools/locale/tools
Author: bapt Date: Sun May 29 22:27:42 2016 New Revision: 300975 URL: https://svnweb.freebsd.org/changeset/base/300975 Log: Add more hacks to correct CLDR data For Russian: - Convert AM/PM which are badly formatted in CLDR to replace it by the proper cyrillic - Add a dependency on Text::Iconv so non unicode get the proper encoding for AM/PM - fix the date format having 'r.,' and convert it to 'r.' (also fixed in Bulgarian) For All: - Use complete Day of Week instead of the abbreviated one Reported by: ache Modified: head/tools/tools/locale/tools/cldr2def.pl Modified: head/tools/tools/locale/tools/cldr2def.pl == --- head/tools/tools/locale/tools/cldr2def.pl Sun May 29 20:54:16 2016 (r300974) +++ head/tools/tools/locale/tools/cldr2def.pl Sun May 29 22:27:42 2016 (r300975) @@ -5,6 +5,7 @@ use strict; use File::Copy; use XML::Parser; use Tie::IxHash; +use Text::Iconv; use Data::Dumper; use Getopt::Long; use Digest::SHA qw(sha1_hex); @@ -69,6 +70,7 @@ my %callback = ( cformat => \&callback_cformat, dtformat => \&callback_dtformat, cbabmon => \&callback_abmon, + cbampm => \&callback_ampm, data => undef, ); @@ -183,7 +185,7 @@ if ($TYPE eq "timedef") { "t_fmt" => "s", "d_fmt" => "s", "c_fmt" => " "as", + "am_pm" => " "s", "d_t_fmt" => " "new("utf-8", "$enc"); + + if ($nl eq 'ru_RU') { + if ($enc eq 'UTF-8') { + $s = 'дп;пп'; + } else { + $s = $converter->convert("дп;пп"); + } + } + return $s; +} + sub callback_cformat { my $s = shift; + my $nl = $callback{data}{l} . "_" . $callback{data}{c}; + + $s =~ s/\.,/\./; $s =~ s/ %Z//; $s =~ s/ %z//; - $s =~ s/^"(%B %e, )/"%a, $1/; - $s =~ s/^"(%e %B )/"%a $1/; + $s =~ s/^"(%B %e, )/"%A, $1/; + $s =~ s/^"(%e %B )/"%A $1/; return $s; }; @@ -211,8 +232,9 @@ sub callback_dtformat { if ($nl eq 'ja_JP') { $s =~ s/(> )(%H)/$1%A $2/; } - $s =~ s/^"(%B %e, )/"%a, $1/; - $s =~ s/^"(%e %B )/"%a $1/; + $s =~ s/\.,/\./; + $s =~ s/^"(%B %e, )/"%A, $1/; + $s =~ s/^"(%e %B )/"%A $1/; return $s; }; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300961 - vendor/one-true-awk/dist
> On May 29, 2016, at 14:53, Xin Li wrote: > > On 5/29/16 11:17, Cy Schubert wrote: > [...] >>> There is no public awk public repository AFAICT, but bwk acknowledged >>> the submission. >>> >>> The change to openresolv was merged to the public repository. >> >> As they've acknowledged the submissions, can you please tag the new >> versions of awk and openresolve with the correct upstream version numbers, >> please? > > No, I don't believe tagging is useful here and what Pedro have done is > perfectly fine. > > Importing to vendor branch and merge makes sure that the next import > would have these references, and if upstream decided to e.g. refactor > the code, svn will know what to do instead of presenting conflicts for > the person who do the import to resolve. Agreed. The only thing that might have been better is noting the commit for one-true-awk, but it's tricky because it's not publicized like some other projects (kinda similar to how byacc, libdialog, and ncurses are handled...). Thanks, -Ngie ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300973 - head/usr.sbin/rpcbind
> On May 29, 2016, at 14:52, Bjoern A. Zeeb > wrote: > > >> On 29 May 2016, at 20:28 , Garrett Cooper wrote: >> >> Author: ngie >> Date: Sun May 29 20:28:01 2016 >> New Revision: 300973 >> URL: https://svnweb.freebsd.org/changeset/base/300973 >> >> Log: >> Follow up to r300932 >> >> In the event MK_INET6 != no in userspace, but is disabled in the >> kernel, or if there aren't any IPv6 addresses configured in userspace >> (for lo0 and all physical interfaces), rpcbind would terminate >> immediately instead of silently failing on >> >> Skip over the IPv6 block to its respective cleanup with freeifaddrs if >> creating the socket failed instead of terminating rpcbind immediately > > Stupid question (without me looking at the code): what does it do in case I > have no IPv4 support in the kernel anymore (as I do on some machines)? The socket call only applied to IPv6. It intentionally sets the multicast address and leaks the socket, which causes coverity to note the leak as fd is local to the function. I'll definite try out this case as well tonight.. init_transport(..) (another function in rpcbind that uses rpc(3) under the covers) was not working under certain edge cases with some changes I had put up for CR. I feel like I wandered into another blackberry bramble patch with rpc(3). I have some ideas for refactoring rpcbind and friends to ease maintenance that I'll work on after 11.0-RELEASE hits. Thanks! -Ngie ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300961 - vendor/one-true-awk/dist
In message <1b8c118d-0743-ba8f-5796-65b165bc8...@freebsd.org>, Pedro Giffuni wr ites: > > > > On 05/29/16 14:06, Cy Schubert wrote: > > In message <201605291817.u4tihnn7040...@slippy.cwsent.com>, Cy Schubert > > writes: > >> In message <574b2eac.3010...@freebsd.org>, Pedro Giffuni writes: > >>> > >>> > >>> > >>> On 29/05/2016 12:37, Cy Schubert wrote: > In message <201605291618.u4tgitnj024...@repo.freebsd.org>, "Pedro F. > Giffuni" w > rites: > > Author: pfg > > Date: Sun May 29 16:18:55 2016 > > New Revision: 300961 > > URL: https://svnweb.freebsd.org/changeset/base/300961 > > > > Log: > >one-true-awk: replace 0 with NULL for pointers > > > >Also remove a redundant semicolon. > >Submitted upstream already. > > > > Modified: > >vendor/one-true-awk/dist/b.c > >vendor/one-true-awk/dist/lex.c > >vendor/one-true-awk/dist/maketab.c > >vendor/one-true-awk/dist/parse.c > >vendor/one-true-awk/dist/run.c > >vendor/one-true-awk/dist/tran.c > > > Was this commit and r300962 obtained from the upline or vendor or were > these commits local to FreeBSD only? > > > >>> There is no public awk public repository AFAICT, but bwk acknowledged > >>> the submission. > >>> > >>> The change to openresolv was merged to the public repository. > >> > >> As they've acknowledged the submissions, can you please tag the new > >> versions of awk and openresolve with the correct upstream version numbers, > >> please? > > > > Additionally, if there are no new version numbers, what reason is there for > > polluting the vendor branch with local patches to it? Is not the vendor > > branch for virgin code retrieved (or received) from the vendor (or upline)? > > > > > > Heck! Sorry but this particular issue of committing local patches to the vendor branch is something I've meant to raise for a long time. This is not meant against you. If you felt that then I apologize. > > Can't you simply trust the committer knows what he is doing? It's not a matter of trust. it's a matter of history. Someone may see a certain commit a couple of years from now and wonder from where it came from, if it was from the vendor and how it was obtained from the vendor. In regard to patches submitted upstream, IMHO I don't think they belong in the vendor branch. Local patches submitted upstream and either not yet accepted or accepted but not incorporated into the vendor's code base IMO should only be imported into the vendor branch when the authorized code is either committed to or released by the vendor. Admittedly this is a gray area and open to interpretation and thus different folks on The Project may have different opinions. IMO vendor branch is only for fully accepted and committed code by the vendor. If it's a gray area then is it really vendor or is it ours? IMO it would be ours. Why? Two reasons: One. History. Secondly, should we discover some anomaly (not that your commits would cause that), being able to look at the virgin code in the vendor branch and compare it with what's in HEAD might help to understand why the anomaly. (And I talked myself out of a third reason.) > > http://roy.marples.name/projects/openresolv/info/12cb1c1fb10df107 > > For nawk there is not public repository but bwk's acknowlegement said: > > "Thanks -- that's something that I should have done long long ago." > > So I think both changes are pretty much vendor code now. If they don't have a public repository then that's cool. I suppose "obtained from:" or "discussed with:" would provide good documentation. While on this topic. I have correspondence with folks upline for software in src/ and some ports/ that provide some interesting history that cannot be captured in commit log messages. I'm at the age that I'll retire from this one day and go back to growing potatoes on the farm (well, maybe not) or more likely not be around any more. It would be nice to archive some of this correspondence one day so that those who follow can still have this history. I cc my former mentor on all correspondence with our ipfilter upline so that someone else on the project will have a copy of the correspondence going forward, just so someone on The Project has a copy should I become incapacitated or unable. I think history is important. I think how we got here is important.The fact that freebsd.org archives this email is important because if the group makes a decision because of what is in this email (not that this particular email is all that important, but you know what I mean), people can go back and see how we got here. I think that's important. Once again, if I appeared hard on you, I'm sorry. That was not my intent. -- Cheers, Cy Schubert or FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. ___ svn-src
Re: svn commit: r300961 - vendor/one-true-awk/dist
On 5/29/16 11:17, Cy Schubert wrote: [...] >> There is no public awk public repository AFAICT, but bwk acknowledged >> the submission. >> >> The change to openresolv was merged to the public repository. > > As they've acknowledged the submissions, can you please tag the new > versions of awk and openresolve with the correct upstream version numbers, > please? No, I don't believe tagging is useful here and what Pedro have done is perfectly fine. Importing to vendor branch and merge makes sure that the next import would have these references, and if upstream decided to e.g. refactor the code, svn will know what to do instead of presenting conflicts for the person who do the import to resolve. Cheers, signature.asc Description: OpenPGP digital signature
Re: svn commit: r300973 - head/usr.sbin/rpcbind
> On 29 May 2016, at 20:28 , Garrett Cooper wrote: > > Author: ngie > Date: Sun May 29 20:28:01 2016 > New Revision: 300973 > URL: https://svnweb.freebsd.org/changeset/base/300973 > > Log: > Follow up to r300932 > > In the event MK_INET6 != no in userspace, but is disabled in the > kernel, or if there aren't any IPv6 addresses configured in userspace > (for lo0 and all physical interfaces), rpcbind would terminate > immediately instead of silently failing on > > Skip over the IPv6 block to its respective cleanup with freeifaddrs if > creating the socket failed instead of terminating rpcbind immediately Stupid question (without me looking at the code): what does it do in case I have no IPv4 support in the kernel anymore (as I do on some machines)? /bz ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300974 - head/contrib/llvm/lib/Transforms/Vectorize
Author: dim Date: Sun May 29 20:54:16 2016 New Revision: 300974 URL: https://svnweb.freebsd.org/changeset/base/300974 Log: Pull in r269908 from upstream llvm trunk (by James Molloy): [VectorUtils] Fix nasty use-after-free In truncateToMinimalBitwidths() we were RAUW'ing an instruction then erasing it. However, that intruction could be cached in the map we're iterating over. The first check is "I->use_empty()" which in most cases would return true, as the (deleted) object was RAUW'd first so would have zero use count. However in some cases the object could have been polluted or written over and this wouldn't be the case. Also it makes valgrind, asan and traditionalists who don't like their compiler to crash sad. No testcase as there are no externally visible symptoms apart from a crash if the stars align. Fixes PR26509. This should fix crashes when building a number of ports on arm64. Reported by: andrew Modified: head/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp Modified: head/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp == --- head/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cppSun May 29 20:28:01 2016(r300973) +++ head/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cppSun May 29 20:54:16 2016(r300974) @@ -3161,10 +3161,11 @@ void InnerLoopVectorizer::truncateToMini // truncated version of `I` and reextend its result. InstCombine runs // later and will remove any ext/trunc pairs. // + SmallPtrSet Erased; for (auto &KV : MinBWs) { VectorParts &Parts = WidenMap.get(KV.first); for (Value *&I : Parts) { - if (I->use_empty()) + if (Erased.count(I) || I->use_empty()) continue; Type *OriginalTy = I->getType(); Type *ScalarTruncatedTy = IntegerType::get(OriginalTy->getContext(), @@ -3238,6 +3239,7 @@ void InnerLoopVectorizer::truncateToMini Value *Res = B.CreateZExtOrTrunc(NewI, OriginalTy); I->replaceAllUsesWith(Res); cast(I)->eraseFromParent(); + Erased.insert(I); I = Res; } } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300233 - stable/10/share/mk
Bryan Drewery wrote: > > I always assumed there was a good reason for not allowing that. > > is there not a "WITH_FOO" or "WITHOUT_FOO" for every MK_FOO? > > Which takes precedence? Using make MK_FOO=no allows forcing it off WITHOUT_ wins this was topic of long discussion - I guess back in 2014 ;-) The original semantics of {MK_,WITH[OUT]_} were almost unusable, they are at least now consistently predictable. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300961 - vendor/one-true-awk/dist
blockquote, div.yahoo_quoted { margin-left: 0 !important; border-left:1px #715FFA solid !important; padding-left:1ex !important; background-color:white !important; } The patches are not local as they are not in base (yet).I will merge them to current when I find time. Pedro. Enviado desde Yahoo Mail para iPad El domingo, mayo 29, 2016, 2:22 p.m., Cy Schubert escribió: In message <574b3e4b.2020...@freebsd.org>, Pedro Giffuni writes: > On 29/05/2016 13:17, Cy Schubert wrote: > > In message <574b2eac.3010...@freebsd.org>, Pedro Giffuni writes: > >> > >> > >> On 29/05/2016 12:37, Cy Schubert wrote: > >>> In message <201605291618.u4tgitnj024...@repo.freebsd.org>, "Pedro F. > >>> Giffuni" w > >>> rites: > Author: pfg > Date: Sun May 29 16:18:55 2016 > New Revision: 300961 > URL: https://svnweb.freebsd.org/changeset/base/300961 > > Log: > one-true-awk: replace 0 with NULL for pointers > > Also remove a redundant semicolon. > Submitted upstream already. > > Modified: > vendor/one-true-awk/dist/b.c > vendor/one-true-awk/dist/lex.c > vendor/one-true-awk/dist/maketab.c > vendor/one-true-awk/dist/parse.c > vendor/one-true-awk/dist/run.c > vendor/one-true-awk/dist/tran.c > > >>> Was this commit and r300962 obtained from the upline or vendor or were > >>> these commits local to FreeBSD only? > >>> > >>> > >> There is no public awk public repository AFAICT, but bwk acknowledged > >> the submission. > >> > >> The change to openresolv was merged to the public repository. > > As they've acknowledged the submissions, can you please tag the new > > versions of awk and openresolve with the correct upstream version numbers, > > please? > > > That's an impossible request as there are no "correct upstream version > numbers". > > In the case of openresolv, I included the repository revision, but > checksums have > no chronological sense and should be avoided for tags. > > In this case using tags for anything other than official releases would > be a mess. > As stated in our subversion primer (5.4.4): > > "Vendor patches should be committed to the vendor branch, and merged > from there to head. If the patch addresses an issue in a new release > that is currently being imported, it /must not/ be committed along with > the new release: the release must be imported and tagged first, then the > patch can be applied and committed. There is no need to re-tag the > vendor sources after committing the patch." > That doesn't address local patches. These were local patches that were upstreamed. I rea this as, if one got a patch from an upstream VCS repo but these were our local patches. At the very least the commit logs should reference the upstream commit log entry (which the openresolve one did but the awk commit did not). I think that a clear audit trail back to the vendor VCS, bug#, etc., be documented in the commit log. -- Cheers, Cy Schubert or FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300973 - head/usr.sbin/rpcbind
Author: ngie Date: Sun May 29 20:28:01 2016 New Revision: 300973 URL: https://svnweb.freebsd.org/changeset/base/300973 Log: Follow up to r300932 In the event MK_INET6 != no in userspace, but is disabled in the kernel, or if there aren't any IPv6 addresses configured in userspace (for lo0 and all physical interfaces), rpcbind would terminate immediately instead of silently failing on Skip over the IPv6 block to its respective cleanup with freeifaddrs if creating the socket failed instead of terminating rpcbind immediately MFC after: 6 days X-MFC with: r300932 Reported by: O. Hartmann Sponsored by: EMC / Isilon Storage Division Modified: head/usr.sbin/rpcbind/util.c Modified: head/usr.sbin/rpcbind/util.c == --- head/usr.sbin/rpcbind/util.cSun May 29 19:46:34 2016 (r300972) +++ head/usr.sbin/rpcbind/util.cSun May 29 20:28:01 2016 (r300973) @@ -371,7 +371,7 @@ network_init(void) if (s == -1) { if (debugging) fprintf(stderr, "couldn't create ip6 socket"); - exit(1); + goto done_inet6; } /* @@ -394,6 +394,7 @@ network_init(void) if (debugging) perror("setsockopt v6 multicast"); } +done_inet6: freeifaddrs(ifp); #endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300965 - head/lib/libc/stdlib
On 29.05.2016 22:39, Conrad Meyer wrote: > Does clang actually generate different code with this change? Yes, without -O it generates andl$2147483647, ... With -O nothing is changed. In general, it can be not clang and I see no point to left junk code in any case. > > On Sun, May 29, 2016 at 9:39 AM, Andrey A. Chernov wrote: >> Author: ache >> Date: Sun May 29 16:39:28 2016 >> New Revision: 300965 >> URL: https://svnweb.freebsd.org/changeset/base/300965 >> >> Log: >> Micro optimize: C standard guarantees that right shift for unsigned value >> fills left bits with zero, and we have exact 32bit unsigned value >> (uint32_t), so there is no reason to add "& 0x7fff" here. >> >> MFC after: 1 week >> >> Modified: >> head/lib/libc/stdlib/random.c >> >> Modified: head/lib/libc/stdlib/random.c >> == >> --- head/lib/libc/stdlib/random.c Sun May 29 16:32:56 2016 >> (r300964) >> +++ head/lib/libc/stdlib/random.c Sun May 29 16:39:28 2016 >> (r300965) >> @@ -430,7 +430,7 @@ random(void) >> */ >> f = fptr; r = rptr; >> *f += *r; >> - i = (*f >> 1) & 0x7fff; /* chucking least random bit >> */ >> + i = *f >> 1;/* chucking least random bit */ >> if (++f >= end_ptr) { >> f = state; >> ++r; >> > ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300965 - head/lib/libc/stdlib
Does clang actually generate different code with this change? On Sun, May 29, 2016 at 9:39 AM, Andrey A. Chernov wrote: > Author: ache > Date: Sun May 29 16:39:28 2016 > New Revision: 300965 > URL: https://svnweb.freebsd.org/changeset/base/300965 > > Log: > Micro optimize: C standard guarantees that right shift for unsigned value > fills left bits with zero, and we have exact 32bit unsigned value > (uint32_t), so there is no reason to add "& 0x7fff" here. > > MFC after: 1 week > > Modified: > head/lib/libc/stdlib/random.c > > Modified: head/lib/libc/stdlib/random.c > == > --- head/lib/libc/stdlib/random.c Sun May 29 16:32:56 2016 > (r300964) > +++ head/lib/libc/stdlib/random.c Sun May 29 16:39:28 2016 > (r300965) > @@ -430,7 +430,7 @@ random(void) > */ > f = fptr; r = rptr; > *f += *r; > - i = (*f >> 1) & 0x7fff; /* chucking least random bit > */ > + i = *f >> 1;/* chucking least random bit */ > if (++f >= end_ptr) { > f = state; > ++r; > ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300972 - head/usr.sbin/rpcbind
Author: markj Date: Sun May 29 19:46:34 2016 New Revision: 300972 URL: https://svnweb.freebsd.org/changeset/base/300972 Log: Fix rpcbind init after r300941. - getaddrinfo() sets res = NULL on failure and freeaddrinfo() always dereferences its argument, so we should only free the address list after a successful call. - Address a second potential leak caused by getaddrinfo(AF_INET6) overwriting the address list returned by getaddrinfo(AF_INET). X-MFC-With: r300941 Modified: head/usr.sbin/rpcbind/util.c Modified: head/usr.sbin/rpcbind/util.c == --- head/usr.sbin/rpcbind/util.cSun May 29 19:35:55 2016 (r300971) +++ head/usr.sbin/rpcbind/util.cSun May 29 19:46:34 2016 (r300972) @@ -338,6 +338,7 @@ network_init(void) exit(1); } memcpy(local_in4, res->ai_addr, sizeof *local_in4); + freeaddrinfo(res); } #ifdef INET6 @@ -354,6 +355,7 @@ network_init(void) exit(1); } memcpy(local_in6, res->ai_addr, sizeof *local_in6); + freeaddrinfo(res); } /* @@ -395,7 +397,6 @@ network_init(void) freeifaddrs(ifp); #endif - freeaddrinfo(res); /* close(s); */ } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300971 - head/lib/libthr/thread
Author: kib Date: Sun May 29 19:35:55 2016 New Revision: 300971 URL: https://svnweb.freebsd.org/changeset/base/300971 Log: Stop inlining the struct ucond definition into struct pthread_cond. This avoids unneccessary casts and make the calls to _thr_ucond_*() functions less questionable. The c_spare field was not included into struct pthread_cond, so the change modifies libthr ABI for shared condvars. But since an off-page does not legitimately contains any other data past the struct pthread_cond, the change keeps shared condvars from pre- and post- changed libthr compatible. Also note that the whole struct ucond was never copied in or out by kernel. For private condvars, the privately allocated memory was never exposed outside libthr. Sponsored by: The FreeBSD Foundation Modified: head/lib/libthr/thread/thr_cond.c head/lib/libthr/thread/thr_private.h Modified: head/lib/libthr/thread/thr_cond.c == --- head/lib/libthr/thread/thr_cond.c Sun May 29 18:25:11 2016 (r300970) +++ head/lib/libthr/thread/thr_cond.c Sun May 29 19:35:55 2016 (r300971) @@ -69,18 +69,18 @@ __weak_reference(_pthread_cond_destroy, __weak_reference(_pthread_cond_signal, pthread_cond_signal); __weak_reference(_pthread_cond_broadcast, pthread_cond_broadcast); -#define CV_PSHARED(cvp)(((cvp)->__flags & USYNC_PROCESS_SHARED) != 0) +#define CV_PSHARED(cvp)(((cvp)->kcond.c_flags & USYNC_PROCESS_SHARED) != 0) static void cond_init_body(struct pthread_cond *cvp, const struct pthread_cond_attr *cattr) { if (cattr == NULL) { - cvp->__clock_id = CLOCK_REALTIME; + cvp->kcond.c_clockid = CLOCK_REALTIME; } else { if (cattr->c_pshared) - cvp->__flags |= USYNC_PROCESS_SHARED; - cvp->__clock_id = cattr->c_clockid; + cvp->kcond.c_flags |= USYNC_PROCESS_SHARED; + cvp->kcond.c_clockid = cattr->c_clockid; } } @@ -205,9 +205,8 @@ cond_wait_kernel(struct pthread_cond *cv if (cancel) _thr_cancel_enter2(curthread, 0); - error = _thr_ucond_wait((struct ucond *)&cvp->__has_kern_waiters, - (struct umutex *)&mp->m_lock, abstime, CVWAIT_ABSTIME | - CVWAIT_CLOCKID); + error = _thr_ucond_wait(&cvp->kcond, &mp->m_lock, abstime, + CVWAIT_ABSTIME | CVWAIT_CLOCKID); if (cancel) _thr_cancel_leave(curthread, 0); @@ -292,7 +291,7 @@ cond_wait_user(struct pthread_cond *cvp, if (cancel) _thr_cancel_enter2(curthread, 0); - error = _thr_sleep(curthread, cvp->__clock_id, abstime); + error = _thr_sleep(curthread, cvp->kcond.c_clockid, abstime); if (cancel) _thr_cancel_leave(curthread, 0); @@ -349,8 +348,7 @@ cond_wait_common(pthread_cond_t *cond, p if (curthread->attr.sched_policy != SCHED_OTHER || (mp->m_lock.m_flags & (UMUTEX_PRIO_PROTECT | UMUTEX_PRIO_INHERIT | - USYNC_PROCESS_SHARED)) != 0 || - (cvp->__flags & USYNC_PROCESS_SHARED) != 0) + USYNC_PROCESS_SHARED)) != 0 || CV_PSHARED(cvp)) return (cond_wait_kernel(cvp, mp, abstime, cancel)); else return (cond_wait_user(cvp, mp, abstime, cancel)); @@ -413,7 +411,7 @@ cond_signal_common(pthread_cond_t *cond) pshared = CV_PSHARED(cvp); - _thr_ucond_signal((struct ucond *)&cvp->__has_kern_waiters); + _thr_ucond_signal(&cvp->kcond); if (pshared || cvp->__has_user_waiters == 0) return (0); @@ -496,7 +494,7 @@ cond_broadcast_common(pthread_cond_t *co pshared = CV_PSHARED(cvp); - _thr_ucond_broadcast((struct ucond *)&cvp->__has_kern_waiters); + _thr_ucond_broadcast(&cvp->kcond); if (pshared || cvp->__has_user_waiters == 0) return (0); Modified: head/lib/libthr/thread/thr_private.h == --- head/lib/libthr/thread/thr_private.hSun May 29 18:25:11 2016 (r300970) +++ head/lib/libthr/thread/thr_private.hSun May 29 19:35:55 2016 (r300971) @@ -190,9 +190,7 @@ struct pthread_mutex_attr { struct pthread_cond { __uint32_t __has_user_waiters; - __uint32_t __has_kern_waiters; - __uint32_t __flags; - __uint32_t __clock_id; + struct ucondkcond; }; struct pthread_cond_attr { ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300961 - vendor/one-true-awk/dist
On 05/29/16 14:06, Cy Schubert wrote: In message <201605291817.u4tihnn7040...@slippy.cwsent.com>, Cy Schubert writes: In message <574b2eac.3010...@freebsd.org>, Pedro Giffuni writes: On 29/05/2016 12:37, Cy Schubert wrote: In message <201605291618.u4tgitnj024...@repo.freebsd.org>, "Pedro F. Giffuni" w rites: Author: pfg Date: Sun May 29 16:18:55 2016 New Revision: 300961 URL: https://svnweb.freebsd.org/changeset/base/300961 Log: one-true-awk: replace 0 with NULL for pointers Also remove a redundant semicolon. Submitted upstream already. Modified: vendor/one-true-awk/dist/b.c vendor/one-true-awk/dist/lex.c vendor/one-true-awk/dist/maketab.c vendor/one-true-awk/dist/parse.c vendor/one-true-awk/dist/run.c vendor/one-true-awk/dist/tran.c Was this commit and r300962 obtained from the upline or vendor or were these commits local to FreeBSD only? There is no public awk public repository AFAICT, but bwk acknowledged the submission. The change to openresolv was merged to the public repository. As they've acknowledged the submissions, can you please tag the new versions of awk and openresolve with the correct upstream version numbers, please? Additionally, if there are no new version numbers, what reason is there for polluting the vendor branch with local patches to it? Is not the vendor branch for virgin code retrieved (or received) from the vendor (or upline)? Heck! Can't you simply trust the committer knows what he is doing? http://roy.marples.name/projects/openresolv/info/12cb1c1fb10df107 For nawk there is not public repository but bwk's acknowlegement said: "Thanks -- that's something that I should have done long long ago." So I think both changes are pretty much vendor code now. Pedro. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300233 - stable/10/share/mk
On 5/29/2016 8:03 AM, Julian Elischer wrote: > On 20/05/2016 5:41 AM, Bryan Drewery wrote: >> Author: bdrewery >> Date: Thu May 19 21:41:35 2016 >> New Revision: 300233 >> URL: https://svnweb.freebsd.org/changeset/base/300233 > I always assumed there was a good reason for not allowing that. > is there not a "WITH_FOO" or "WITHOUT_FOO" for every MK_FOO? Which takes precedence? Using make MK_FOO=no allows forcing it off despite what the user picked in their environment or .conf files, which is needed in many cases. Either way, the change has been in head since 2014. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
Re: svn commit: r300961 - vendor/one-true-awk/dist
In message <574b3e4b.2020...@freebsd.org>, Pedro Giffuni writes: > On 29/05/2016 13:17, Cy Schubert wrote: > > In message <574b2eac.3010...@freebsd.org>, Pedro Giffuni writes: > >> > >> > >> On 29/05/2016 12:37, Cy Schubert wrote: > >>> In message <201605291618.u4tgitnj024...@repo.freebsd.org>, "Pedro F. > >>> Giffuni" w > >>> rites: > Author: pfg > Date: Sun May 29 16:18:55 2016 > New Revision: 300961 > URL: https://svnweb.freebsd.org/changeset/base/300961 > > Log: > one-true-awk: replace 0 with NULL for pointers > > Also remove a redundant semicolon. > Submitted upstream already. > > Modified: > vendor/one-true-awk/dist/b.c > vendor/one-true-awk/dist/lex.c > vendor/one-true-awk/dist/maketab.c > vendor/one-true-awk/dist/parse.c > vendor/one-true-awk/dist/run.c > vendor/one-true-awk/dist/tran.c > > >>> Was this commit and r300962 obtained from the upline or vendor or were > >>> these commits local to FreeBSD only? > >>> > >>> > >> There is no public awk public repository AFAICT, but bwk acknowledged > >> the submission. > >> > >> The change to openresolv was merged to the public repository. > > As they've acknowledged the submissions, can you please tag the new > > versions of awk and openresolve with the correct upstream version numbers, > > please? > > > That's an impossible request as there are no "correct upstream version > numbers". > > In the case of openresolv, I included the repository revision, but > checksums have > no chronological sense and should be avoided for tags. > > In this case using tags for anything other than official releases would > be a mess. > As stated in our subversion primer (5.4.4): > > "Vendor patches should be committed to the vendor branch, and merged > from there to head. If the patch addresses an issue in a new release > that is currently being imported, it /must not/ be committed along with > the new release: the release must be imported and tagged first, then the > patch can be applied and committed. There is no need to re-tag the > vendor sources after committing the patch." > That doesn't address local patches. These were local patches that were upstreamed. I rea this as, if one got a patch from an upstream VCS repo but these were our local patches. At the very least the commit logs should reference the upstream commit log entry (which the openresolve one did but the awk commit did not). I think that a clear audit trail back to the vendor VCS, bug#, etc., be documented in the commit log. -- Cheers, Cy Schubert or FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300961 - vendor/one-true-awk/dist
In message <201605291817.u4tihnn7040...@slippy.cwsent.com>, Cy Schubert writes: > In message <574b2eac.3010...@freebsd.org>, Pedro Giffuni writes: > > > > > > > > On 29/05/2016 12:37, Cy Schubert wrote: > > > In message <201605291618.u4tgitnj024...@repo.freebsd.org>, "Pedro F. > > > Giffuni" w > > > rites: > > >> Author: pfg > > >> Date: Sun May 29 16:18:55 2016 > > >> New Revision: 300961 > > >> URL: https://svnweb.freebsd.org/changeset/base/300961 > > >> > > >> Log: > > >>one-true-awk: replace 0 with NULL for pointers > > >> > > >>Also remove a redundant semicolon. > > >>Submitted upstream already. > > >> > > >> Modified: > > >>vendor/one-true-awk/dist/b.c > > >>vendor/one-true-awk/dist/lex.c > > >>vendor/one-true-awk/dist/maketab.c > > >>vendor/one-true-awk/dist/parse.c > > >>vendor/one-true-awk/dist/run.c > > >>vendor/one-true-awk/dist/tran.c > > >> > > > Was this commit and r300962 obtained from the upline or vendor or were > > > these commits local to FreeBSD only? > > > > > > > > There is no public awk public repository AFAICT, but bwk acknowledged > > the submission. > > > > The change to openresolv was merged to the public repository. > > As they've acknowledged the submissions, can you please tag the new > versions of awk and openresolve with the correct upstream version numbers, > please? Additionally, if there are no new version numbers, what reason is there for polluting the vendor branch with local patches to it? Is not the vendor branch for virgin code retrieved (or received) from the vendor (or upline)? -- Cheers, Cy Schubert or FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300970 - in head: lib/libthr share/man/man3
Author: jilles Date: Sun May 29 18:25:11 2016 New Revision: 300970 URL: https://svnweb.freebsd.org/changeset/base/300970 Log: Remove non-history libkse references and fix PTHREAD_PROCESSES_PRIVATE typo. Modified: head/lib/libthr/libthr.3 head/share/man/man3/pthread_barrier_destroy.3 head/share/man/man3/pthread_barrierattr.3 head/share/man/man3/pthread_condattr.3 head/share/man/man3/pthread_spin_init.3 Modified: head/lib/libthr/libthr.3 == --- head/lib/libthr/libthr.3Sun May 29 17:35:38 2016(r300969) +++ head/lib/libthr/libthr.3Sun May 29 18:25:11 2016(r300970) @@ -47,9 +47,7 @@ library provides a 1:1 implementation of library interfaces for application threading. It has been optimized for use by applications expecting system scope thread -semantics, and can provide significant performance improvements -compared to -.Lb libkse . +semantics. .Pp The library is tightly integrated with the run-time link editor .Xr ld-elf.so.1 1 Modified: head/share/man/man3/pthread_barrier_destroy.3 == --- head/share/man/man3/pthread_barrier_destroy.3 Sun May 29 17:35:38 2016(r300969) +++ head/share/man/man3/pthread_barrier_destroy.3 Sun May 29 18:25:11 2016(r300970) @@ -75,9 +75,7 @@ argument to .Fn pthread_barrier_init . Once the threads have been released the barrier will be reset. .Sh IMPLEMENTATION NOTES -In both -.Lb libkse -and +In .Lb libthr the .Dv PTHREAD_BARRIER_SERIAL_THREAD Modified: head/share/man/man3/pthread_barrierattr.3 == --- head/share/man/man3/pthread_barrierattr.3 Sun May 29 17:35:38 2016 (r300969) +++ head/share/man/man3/pthread_barrierattr.3 Sun May 29 18:25:11 2016 (r300970) @@ -137,11 +137,9 @@ barriers does not fully conform to .St -p1003.2 because the process-shared attribute is ignored in -.Lb libthr , -and in -.Lb libkse ; +.Lb libthr ; if any value other than -.Dv PTHREAD_PROCESSES_PRIVATE +.Dv PTHREAD_PROCESS_PRIVATE is specified in a call to .Fn pthread_barrierattr_setpshared , it will return Modified: head/share/man/man3/pthread_condattr.3 == --- head/share/man/man3/pthread_condattr.3 Sun May 29 17:35:38 2016 (r300969) +++ head/share/man/man3/pthread_condattr.3 Sun May 29 18:25:11 2016 (r300970) @@ -167,7 +167,7 @@ does not fully conform to .St -p1003.2 because the process-shared attribute is ignored; if any value other than -.Dv PTHREAD_PROCESSES_PRIVATE +.Dv PTHREAD_PROCESS_PRIVATE is specified in a call to .Fn pthread_condattr_setpshared , it will return Modified: head/share/man/man3/pthread_spin_init.3 == --- head/share/man/man3/pthread_spin_init.3 Sun May 29 17:35:38 2016 (r300969) +++ head/share/man/man3/pthread_spin_init.3 Sun May 29 18:25:11 2016 (r300970) @@ -129,10 +129,8 @@ does not fully conform to because the .Fa pshared argument is ignored in -.Lb libthr , -and in -.Lb libkse +.Lb libthr ; if any value other than -.Dv PTHREAD_PROCESSES_PRIVATE +.Dv PTHREAD_PROCESS_PRIVATE is specified, it returns .Er EINVAL . ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300961 - vendor/one-true-awk/dist
In message <574b2eac.3010...@freebsd.org>, Pedro Giffuni writes: > > > > On 29/05/2016 12:37, Cy Schubert wrote: > > In message <201605291618.u4tgitnj024...@repo.freebsd.org>, "Pedro F. > > Giffuni" w > > rites: > >> Author: pfg > >> Date: Sun May 29 16:18:55 2016 > >> New Revision: 300961 > >> URL: https://svnweb.freebsd.org/changeset/base/300961 > >> > >> Log: > >>one-true-awk: replace 0 with NULL for pointers > >> > >>Also remove a redundant semicolon. > >>Submitted upstream already. > >> > >> Modified: > >>vendor/one-true-awk/dist/b.c > >>vendor/one-true-awk/dist/lex.c > >>vendor/one-true-awk/dist/maketab.c > >>vendor/one-true-awk/dist/parse.c > >>vendor/one-true-awk/dist/run.c > >>vendor/one-true-awk/dist/tran.c > >> > > Was this commit and r300962 obtained from the upline or vendor or were > > these commits local to FreeBSD only? > > > > > There is no public awk public repository AFAICT, but bwk acknowledged > the submission. > > The change to openresolv was merged to the public repository. As they've acknowledged the submissions, can you please tag the new versions of awk and openresolve with the correct upstream version numbers, please? -- Cheers, Cy Schubert or FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300961 - vendor/one-true-awk/dist
On 29/05/2016 12:37, Cy Schubert wrote: In message <201605291618.u4tgitnj024...@repo.freebsd.org>, "Pedro F. Giffuni" w rites: Author: pfg Date: Sun May 29 16:18:55 2016 New Revision: 300961 URL: https://svnweb.freebsd.org/changeset/base/300961 Log: one-true-awk: replace 0 with NULL for pointers Also remove a redundant semicolon. Submitted upstream already. Modified: vendor/one-true-awk/dist/b.c vendor/one-true-awk/dist/lex.c vendor/one-true-awk/dist/maketab.c vendor/one-true-awk/dist/parse.c vendor/one-true-awk/dist/run.c vendor/one-true-awk/dist/tran.c Was this commit and r300962 obtained from the upline or vendor or were these commits local to FreeBSD only? There is no public awk public repository AFAICT, but bwk acknowledged the submission. The change to openresolv was merged to the public repository. Pedro. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300961 - vendor/one-true-awk/dist
In message <201605291618.u4tgitnj024...@repo.freebsd.org>, "Pedro F. Giffuni" w rites: > Author: pfg > Date: Sun May 29 16:18:55 2016 > New Revision: 300961 > URL: https://svnweb.freebsd.org/changeset/base/300961 > > Log: > one-true-awk: replace 0 with NULL for pointers > > Also remove a redundant semicolon. > Submitted upstream already. > > Modified: > vendor/one-true-awk/dist/b.c > vendor/one-true-awk/dist/lex.c > vendor/one-true-awk/dist/maketab.c > vendor/one-true-awk/dist/parse.c > vendor/one-true-awk/dist/run.c > vendor/one-true-awk/dist/tran.c > Was this commit and r300962 obtained from the upline or vendor or were these commits local to FreeBSD only? -- Cheers, Cy Schubert or FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300969 - in head/sys/arm: arm include
Author: zbb Date: Sun May 29 17:35:38 2016 New Revision: 300969 URL: https://svnweb.freebsd.org/changeset/base/300969 Log: Improve ARM debug_monitor for SMP machines - Reset debug architecture and enable monitor for secondary CPUs in init_secondary() rather than when configuring watchpoint, etc. - Disable HW debugging capabilities when one of the CPU cores fails to set up. - Use dbg_capable() in a more atomic manner to avoid any mismatch between CPUs. Differential Revision: https://reviews.freebsd.org/D6009 Modified: head/sys/arm/arm/debug_monitor.c head/sys/arm/arm/mp_machdep.c head/sys/arm/include/debug_monitor.h Modified: head/sys/arm/arm/debug_monitor.c == --- head/sys/arm/arm/debug_monitor.cSun May 29 17:33:49 2016 (r300968) +++ head/sys/arm/arm/debug_monitor.cSun May 29 17:35:38 2016 (r300969) @@ -72,9 +72,8 @@ static boolean_t dbg_check_slot_free(enu static int dbg_remove_xpoint(struct dbg_wb_conf *); static int dbg_setup_xpoint(struct dbg_wb_conf *); -static boolean_t dbg_capable; /* Indicates that machine is capable of using +static int dbg_capable_var;/* Indicates that machine is capable of using HW watchpoints/breakpoints */ -static boolean_t dbg_ready[MAXCPU]; /* Debug arch. reset performed on this CPU */ static uint32_t dbg_model; /* Debug Arch. Model */ static boolean_t dbg_ossr; /* OS Save and Restore implemented */ @@ -245,6 +244,13 @@ dbg_wb_write_reg(int reg, int n, uint32_ isb(); } +static __inline boolean_t +dbg_capable(void) +{ + + return (atomic_cmpset_int(&dbg_capable_var, 0, 0) == 0); +} + boolean_t kdb_cpu_pc_is_singlestep(db_addr_t pc) { @@ -253,7 +259,7 @@ kdb_cpu_pc_is_singlestep(db_addr_t pc) * there will be no stepping capabilities * (SOFTWARE_SSTEP is not defined for __ARM_ARCH >= 6). */ - if (!dbg_capable) + if (!dbg_capable()) return (FALSE); if (dbg_find_slot(DBG_TYPE_BREAKPOINT, pc) != ~0U) @@ -270,7 +276,7 @@ kdb_cpu_set_singlestep(void) uint32_t wcr; u_int i; - if (!dbg_capable) + if (!dbg_capable()) return; /* @@ -303,7 +309,7 @@ kdb_cpu_clear_singlestep(void) uint32_t wvr, wcr; u_int i; - if (!dbg_capable) + if (!dbg_capable()) return; dbg_remove_breakpoint(DBG_BKPT_BT_SLOT); @@ -423,7 +429,7 @@ dbg_show_watchpoint(void) boolean_t is_enabled; int i; - if (!dbg_capable) { + if (!dbg_capable()) { db_printf("Architecture does not support HW " "breakpoints/watchpoints\n"); return; @@ -591,24 +597,15 @@ dbg_setup_xpoint(struct dbg_wb_conf *con uint32_t cr_size, cr_priv, cr_access; uint32_t reg_ctrl, reg_addr, ctrl, addr; boolean_t is_bkpt; - u_int cpuid, cpu; + u_int cpu; u_int i; - int err; - if (!dbg_capable) + if (!dbg_capable()) return (ENXIO); is_bkpt = (conf->type == DBG_TYPE_BREAKPOINT); typestr = is_bkpt ? "breakpoint" : "watchpoint"; - cpuid = PCPU_GET(cpuid); - if (!dbg_ready[cpuid]) { - err = dbg_reset_state(); - if (err != 0) - return (err); - dbg_ready[cpuid] = TRUE; - } - if (is_bkpt) { if (dbg_breakpoint_num == 0) { db_printf("Breakpoints not supported on this architecture\n"); @@ -698,7 +695,7 @@ dbg_setup_xpoint(struct dbg_wb_conf *con d->dbg_wvr[i] = addr; d->dbg_wcr[i] = ctrl; /* Skip update command for the current CPU */ - if (cpu != cpuid) + if (cpu != PCPU_GET(cpuid)) pcpu->pc_dbreg_cmd = PC_DBREG_CMD_LOAD; } } @@ -715,23 +712,13 @@ dbg_remove_xpoint(struct dbg_wb_conf *co struct dbreg *d; uint32_t reg_ctrl, reg_addr, addr; boolean_t is_bkpt; - u_int cpuid, cpu; + u_int cpu; u_int i; - int err; - if (!dbg_capable) + if (!dbg_capable()) return (ENXIO); is_bkpt = (conf->type == DBG_TYPE_BREAKPOINT); - - cpuid = PCPU_GET(cpuid); - if (!dbg_ready[cpuid]) { - err = dbg_reset_state(); - if (err != 0) - return (err); - dbg_ready[cpuid] = TRUE; - } - addr = conf->address; if (is_bkpt) { @@ -764,7 +751,7 @@ dbg_remove_xpoint(struct dbg_wb_conf *co d->dbg_wvr[i] = 0; d->dbg_wcr[i] = 0; /* Skip update command for the current CPU */ -
svn commit: r300968 - head/sys/arm/arm
Author: zbb Date: Sun May 29 17:33:49 2016 New Revision: 300968 URL: https://svnweb.freebsd.org/changeset/base/300968 Log: Fix debug_monitor code for older ARMs (ARM11) - Enable monitor mode prior to accessing watchpoint registers for v6, v6.1 architectures. - Fix configuration scheme for v6, v6.1 and v7 Debug Archs - Enable monitor unconditionally and for good instead of enabling and disabling it (needed for single stepping on on v6/v6.1) Tested on RPI-B and Arndale Differential Revision: https://reviews.freebsd.org/D6008 Modified: head/sys/arm/arm/debug_monitor.c Modified: head/sys/arm/arm/debug_monitor.c == --- head/sys/arm/arm/debug_monitor.cSun May 29 17:32:19 2016 (r300967) +++ head/sys/arm/arm/debug_monitor.cSun May 29 17:33:49 2016 (r300968) @@ -82,8 +82,6 @@ static boolean_t dbg_ossr;/* OS Save an static uint32_t dbg_watchpoint_num; static uint32_t dbg_breakpoint_num; -static int dbg_ref_count_mme; /* Times monitor mode was enabled */ - /* ID_DFR0 - Debug Feature Register 0 */ #defineID_DFR0_CP_DEBUG_M_SHIFT0 #defineID_DFR0_CP_DEBUG_M_MASK (0xF << ID_DFR0_CP_DEBUG_M_SHIFT) @@ -250,6 +248,13 @@ dbg_wb_write_reg(int reg, int n, uint32_ boolean_t kdb_cpu_pc_is_singlestep(db_addr_t pc) { + /* +* XXX: If the platform fails to enable its debug arch. +* there will be no stepping capabilities +* (SOFTWARE_SSTEP is not defined for __ARM_ARCH >= 6). +*/ + if (!dbg_capable) + return (FALSE); if (dbg_find_slot(DBG_TYPE_BREAKPOINT, pc) != ~0U) return (TRUE); @@ -265,6 +270,9 @@ kdb_cpu_set_singlestep(void) uint32_t wcr; u_int i; + if (!dbg_capable) + return; + /* * Disable watchpoints, e.g. stepping over watched instruction will * trigger break exception instead of single-step exception and locks @@ -295,6 +303,9 @@ kdb_cpu_clear_singlestep(void) uint32_t wvr, wcr; u_int i; + if (!dbg_capable) + return; + dbg_remove_breakpoint(DBG_BKPT_BT_SLOT); dbg_remove_breakpoint(DBG_BKPT_BNT_SLOT); @@ -572,34 +583,6 @@ dbg_enable_monitor(void) } static int -dbg_disable_monitor(void) -{ - uint32_t dbg_dscr; - - if (!dbg_monitor_is_enabled()) - return (0); - - dbg_dscr = cp14_dbgdscrint_get(); - switch (dbg_model) { - case ID_DFR0_CP_DEBUG_M_V6: - case ID_DFR0_CP_DEBUG_M_V6_1: /* fall through */ - dbg_dscr &= ~DBGSCR_MDBG_EN; - cp14_dbgdscr_v6_set(dbg_dscr); - break; - case ID_DFR0_CP_DEBUG_M_V7: /* fall through */ - case ID_DFR0_CP_DEBUG_M_V7_1: - dbg_dscr &= ~DBGSCR_MDBG_EN; - cp14_dbgdscr_v7_set(dbg_dscr); - break; - default: - return (ENXIO); - } - isb(); - - return (0); -} - -static int dbg_setup_xpoint(struct dbg_wb_conf *conf) { struct pcpu *pcpu; @@ -702,13 +685,6 @@ dbg_setup_xpoint(struct dbg_wb_conf *con dbg_wb_write_reg(reg_addr, i, addr); dbg_wb_write_reg(reg_ctrl, i, ctrl); - err = dbg_enable_monitor(); - if (err != 0) - return (err); - - /* Increment monitor enable counter */ - dbg_ref_count_mme++; - /* * Save watchpoint settings for all CPUs. * We don't need to do the same with breakpoints since HW breakpoints @@ -775,19 +751,6 @@ dbg_remove_xpoint(struct dbg_wb_conf *co dbg_wb_write_reg(reg_ctrl, i, 0); dbg_wb_write_reg(reg_addr, i, 0); - /* Decrement monitor enable counter */ - dbg_ref_count_mme--; - if (dbg_ref_count_mme < 0) - dbg_ref_count_mme = 0; - - atomic_thread_fence_rel(); - - if (dbg_ref_count_mme == 0) { - err = dbg_disable_monitor(); - if (err != 0) - return (err); - } - /* * Save watchpoint settings for all CPUs. * We don't need to do the same with breakpoints since HW breakpoints @@ -827,7 +790,7 @@ dbg_get_ossr(void) { switch (dbg_model) { - case ID_DFR0_CP_DEBUG_M_V6_1: + case ID_DFR0_CP_DEBUG_M_V7: if ((cp14_dbgoslsr_get() & DBGOSLSR_OSLM0) != 0) return (TRUE); @@ -844,10 +807,8 @@ dbg_arch_supported(void) { switch (dbg_model) { -#ifdef not_yet case ID_DFR0_CP_DEBUG_M_V6: case ID_DFR0_CP_DEBUG_M_V6_1: -#endif case ID_DFR0_CP_DEBUG_M_V7: case ID_DFR0_CP_DEBUG_M_V7_1: /* fall through */ return (TRUE); @@ -889,9 +850,16 @@ dbg_reset_state(void) switch (dbg_model) { case ID_DFR0_CP_DEBUG_M_V6: - /* v6 Debug logic reset upon power-u
svn commit: r300967 - head/sys/sys
Author: dim Date: Sun May 29 17:32:19 2016 New Revision: 300967 URL: https://svnweb.freebsd.org/changeset/base/300967 Log: Stop exposing the C11 _Atomic() macro in , when compiling for C++. It clashes with the one in libc++'s header. (Previously, the _Atomic() macro was defined in , which is only for use with C11, but for various reasons it was moved to its current location in r251804.) Discussed with: bdrewery, ed MFC after:2 weeks Modified: head/sys/sys/cdefs.h Modified: head/sys/sys/cdefs.h == --- head/sys/sys/cdefs.hSun May 29 17:26:40 2016(r300966) +++ head/sys/sys/cdefs.hSun May 29 17:32:19 2016(r300967) @@ -275,7 +275,8 @@ #define_Alignof(x) __alignof(x) #endif -#if !__has_extension(c_atomic) && !__has_extension(cxx_atomic) +#if !defined(__cplusplus) && !__has_extension(c_atomic) && \ +!__has_extension(cxx_atomic) /* * No native support for _Atomic(). Place object in structure to prevent * most forms of direct non-atomic access. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300966 - head/sys/crypto/sha2
Author: cperciva Date: Sun May 29 17:26:40 2016 New Revision: 300966 URL: https://svnweb.freebsd.org/changeset/base/300966 Log: Retune SHA2 code for improved performance on CPUs with more ILP and a preference for memory load instructions over large code footprints with embedded immediate variables. On amd64 CPUs from 2007-2008 there is not a significant change, but amd64 CPUs from 2009-2010 get roughly 10% more throughput with this code; amd64 CPUs from 2011-2012 get roughly 15% more throughput; and AMD64 CPUs from 2013-2015 get 20-25% more throughput. The Raspberry Pi 2 increases its throughput by 6-8%. Sponsored by: Tarsnap Backup Inc. Performance tested by:allanjude MFC after:3 weeks Modified: head/sys/crypto/sha2/sha256c.c head/sys/crypto/sha2/sha512c.c Modified: head/sys/crypto/sha2/sha256c.c == --- head/sys/crypto/sha2/sha256c.c Sun May 29 16:39:28 2016 (r300965) +++ head/sys/crypto/sha2/sha256c.c Sun May 29 17:26:40 2016 (r300966) @@ -78,6 +78,26 @@ be32dec_vect(uint32_t *dst, const unsign #endif /* BYTE_ORDER != BIG_ENDIAN */ +/* SHA256 round constants. */ +static const uint32_t K[64] = { + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, + 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, + 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, + 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, + 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, + 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, + 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, + 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, + 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, + 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, + 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, + 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, + 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, + 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, + 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 +}; + /* Elementary functions used by SHA256 */ #define Ch(x, y, z)((x & (y ^ z)) ^ z) #define Maj(x, y, z) ((x & (y | z)) | (y & z)) @@ -90,18 +110,21 @@ be32dec_vect(uint32_t *dst, const unsign /* SHA256 round function */ #define RND(a, b, c, d, e, f, g, h, k) \ - t0 = h + S1(e) + Ch(e, f, g) + k; \ - t1 = S0(a) + Maj(a, b, c); \ - d += t0;\ - h = t0 + t1; + h += S1(e) + Ch(e, f, g) + k; \ + d += h; \ + h += S0(a) + Maj(a, b, c); /* Adjusted round function for rotating state */ -#define RNDr(S, W, i, k) \ +#define RNDr(S, W, i, ii) \ RND(S[(64 - i) % 8], S[(65 - i) % 8], \ S[(66 - i) % 8], S[(67 - i) % 8], \ S[(68 - i) % 8], S[(69 - i) % 8], \ S[(70 - i) % 8], S[(71 - i) % 8], \ - W[i] + k) + W[i + ii] + K[i + ii]) + +/* Message schedule computation */ +#define MSCH(W, ii, i) \ + W[i + ii + 16] = s1(W[i + ii + 14]) + W[i + ii + 9] + s0(W[i + ii + 1]) + W[i + ii] /* * SHA256 block compression function. The 256-bit state is transformed via @@ -112,82 +135,52 @@ SHA256_Transform(uint32_t * state, const { uint32_t W[64]; uint32_t S[8]; - uint32_t t0, t1; int i; - /* 1. Prepare message schedule W. */ + /* 1. Prepare the first part of the message schedule W. */ be32dec_vect(W, block, 64); - for (i = 16; i < 64; i++) - W[i] = s1(W[i - 2]) + W[i - 7] + s0(W[i - 15]) + W[i - 16]; /* 2. Initialize working variables. */ memcpy(S, state, 32); /* 3. Mix. */ - RNDr(S, W, 0, 0x428a2f98); - RNDr(S, W, 1, 0x71374491); - RNDr(S, W, 2, 0xb5c0fbcf); - RNDr(S, W, 3, 0xe9b5dba5); - RNDr(S, W, 4, 0x3956c25b); - RNDr(S, W, 5, 0x59f111f1); - RNDr(S, W, 6, 0x923f82a4); - RNDr(S, W, 7, 0xab1c5ed5); - RNDr(S, W, 8, 0xd807aa98); - RNDr(S, W, 9, 0x12835b01); - RNDr(S, W, 10, 0x243185be); - RNDr(S, W, 11, 0x550c7dc3); - RNDr(S, W, 12, 0x72be5d74); - RNDr(S, W, 13, 0x80deb1fe); - RNDr(S, W, 14, 0x9bdc06a7); - RNDr(S, W, 15, 0xc19bf174); - RNDr(S, W, 16, 0xe49b69c1); - RNDr(S, W, 17, 0xefbe4786); - RNDr(S, W, 18, 0x0fc19dc6); - RNDr(S, W, 19, 0x240ca1cc); - RNDr(S, W, 20, 0x2de92c6f); - RNDr(S, W, 21, 0x4a7484aa); - RNDr(S, W, 22, 0x5cb0a9dc); - RNDr(S, W, 23, 0x76f988da); - RNDr(S, W, 24, 0x983e5152); - RNDr(S, W, 25, 0xa831c66d); - RNDr(S, W, 26, 0xb00327c8); - RNDr(S, W, 27, 0xbf597fc7); -
Re: svn commit: r300952 - head/usr.sbin/services_mkdb
On Sun, May 29, 2016 at 4:41 AM, Ed Schouten wrote: > Author: ed > Date: Sun May 29 10:41:27 2016 > New Revision: 300952 > URL: https://svnweb.freebsd.org/changeset/base/300952 > > Log: > Invoke the dirname() function in a POSIX compliant way. > > POSIX requires that the argument of dirname() is of type "char *". In > other words, the input buffer can be modified by the function to store > the directory name. > > Pull a copy of the string before calling dirname(). We don't care about > freeing up the memory afterwards, as this is done at the very bottom of > main(), right before the program terminates. > > Reviewed by: bapt > Differential Revision:https://reviews.freebsd.org/D6628 > > Modified: > head/usr.sbin/services_mkdb/services_mkdb.c > > Modified: head/usr.sbin/services_mkdb/services_mkdb.c > == > --- head/usr.sbin/services_mkdb/services_mkdb.c Sun May 29 07:39:56 2016 > (r300951) > +++ head/usr.sbin/services_mkdb/services_mkdb.c Sun May 29 10:41:27 2016 > (r300952) > @@ -92,7 +92,7 @@ main(int argc, char *argv[]) > size_t cnt = 0; > StringList *sl, ***svc; > size_t port, proto; > - char *dbname_dir; > + char *dbname_dir, *dbname_dirbuf; > int dbname_dir_fd = -1; > > setprogname(argv[0]); > @@ -172,7 +172,8 @@ main(int argc, char *argv[]) > * fsync() to the directory where file lies > */ > if (rename(tname, dbname) == -1 || > - (dbname_dir = dirname(dbname)) == NULL || > + (dbname_dirbuf = strdup(dbname)) == NULL || > + (dbname_dir = dirname(dbname_dirbuf)) == NULL || > (dbname_dir_fd = open(dbname_dir, O_RDONLY|O_DIRECTORY)) == -1 || > fsync(dbname_dir_fd) != 0) { > if (dbname_dir_fd != -1) > Even though the program is about to exit, it's worth freeing the memory just to make Coverity shut up. -Alan ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300965 - head/lib/libc/stdlib
Author: ache Date: Sun May 29 16:39:28 2016 New Revision: 300965 URL: https://svnweb.freebsd.org/changeset/base/300965 Log: Micro optimize: C standard guarantees that right shift for unsigned value fills left bits with zero, and we have exact 32bit unsigned value (uint32_t), so there is no reason to add "& 0x7fff" here. MFC after: 1 week Modified: head/lib/libc/stdlib/random.c Modified: head/lib/libc/stdlib/random.c == --- head/lib/libc/stdlib/random.c Sun May 29 16:32:56 2016 (r300964) +++ head/lib/libc/stdlib/random.c Sun May 29 16:39:28 2016 (r300965) @@ -430,7 +430,7 @@ random(void) */ f = fptr; r = rptr; *f += *r; - i = (*f >> 1) & 0x7fff; /* chucking least random bit */ + i = *f >> 1;/* chucking least random bit */ if (++f >= end_ptr) { f = state; ++r; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300964 - stable/9/lib/libc/regex
Author: pfg Date: Sun May 29 16:32:56 2016 New Revision: 300964 URL: https://svnweb.freebsd.org/changeset/base/300964 Log: MFC r300378: libc/regex: fix two buffer underruns. Fix some rather complex regex issues found on OpenBSD as part of some ongoing work to fix a sed(1) bug. Curiously the OpenBSD tests don't trigger segfaults on FreeBSD but the bugs were confirmed by running a port of FreeBSD's regex under OpenBSD's malloc. Huge thanks to Ingo for confirming the behavior. Obtained from:OpenBSD (CVS 1.20, 1.21) Modified: stable/9/lib/libc/regex/engine.c Directory Properties: stable/9/lib/libc/ (props changed) Modified: stable/9/lib/libc/regex/engine.c == --- stable/9/lib/libc/regex/engine.cSun May 29 16:32:21 2016 (r300963) +++ stable/9/lib/libc/regex/engine.cSun May 29 16:32:56 2016 (r300964) @@ -606,9 +606,9 @@ backref(struct match *m, return(NULL); break; case OBOL: - if ( (sp == m->beginp && !(m->eflags®_NOTBOL)) || - (sp < m->endp && *(sp-1) == '\n' && - (m->g->cflags®_NEWLINE)) ) + if ((sp == m->beginp && !(m->eflags®_NOTBOL)) || + (sp > m->offp && sp < m->endp && + *(sp-1) == '\n' && (m->g->cflags®_NEWLINE))) { /* yes */ } else return(NULL); @@ -622,12 +622,9 @@ backref(struct match *m, return(NULL); break; case OBOW: - if (( (sp == m->beginp && !(m->eflags®_NOTBOL)) || - (sp < m->endp && *(sp-1) == '\n' && - (m->g->cflags®_NEWLINE)) || - (sp > m->beginp && - !ISWORD(*(sp-1))) ) && - (sp < m->endp && ISWORD(*sp)) ) + if (sp < m->endp && ISWORD(*sp) && + ((sp == m->beginp && !(m->eflags®_NOTBOL)) || + (sp > m->offp && !ISWORD(*(sp-1) { /* yes */ } else return(NULL); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300963 - stable/10/lib/libc/regex
Author: pfg Date: Sun May 29 16:32:21 2016 New Revision: 300963 URL: https://svnweb.freebsd.org/changeset/base/300963 Log: MFC r300378: libc/regex: fix two buffer underruns. Fix some rather complex regex issues found on OpenBSD as part of some ongoing work to fix a sed(1) bug. Curiously the OpenBSD tests don't trigger segfaults on FreeBSD but the bugs were confirmed by running a port of FreeBSD's regex under OpenBSD's malloc. Huge thanks to Ingo for confirming the behavior. Obtained from:OpenBSD (CVS 1.20, 1.21) Modified: stable/10/lib/libc/regex/engine.c Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libc/regex/engine.c == --- stable/10/lib/libc/regex/engine.c Sun May 29 16:22:29 2016 (r300962) +++ stable/10/lib/libc/regex/engine.c Sun May 29 16:32:21 2016 (r300963) @@ -606,9 +606,9 @@ backref(struct match *m, return(NULL); break; case OBOL: - if ( (sp == m->beginp && !(m->eflags®_NOTBOL)) || - (sp < m->endp && *(sp-1) == '\n' && - (m->g->cflags®_NEWLINE)) ) + if ((sp == m->beginp && !(m->eflags®_NOTBOL)) || + (sp > m->offp && sp < m->endp && + *(sp-1) == '\n' && (m->g->cflags®_NEWLINE))) { /* yes */ } else return(NULL); @@ -622,12 +622,9 @@ backref(struct match *m, return(NULL); break; case OBOW: - if (( (sp == m->beginp && !(m->eflags®_NOTBOL)) || - (sp < m->endp && *(sp-1) == '\n' && - (m->g->cflags®_NEWLINE)) || - (sp > m->beginp && - !ISWORD(*(sp-1))) ) && - (sp < m->endp && ISWORD(*sp)) ) + if (sp < m->endp && ISWORD(*sp) && + ((sp == m->beginp && !(m->eflags®_NOTBOL)) || + (sp > m->offp && !ISWORD(*(sp-1) { /* yes */ } else return(NULL); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300962 - vendor/openresolv/dist
Author: pfg Date: Sun May 29 16:22:29 2016 New Revision: 300962 URL: https://svnweb.freebsd.org/changeset/base/300962 Log: openresolv: Minor spelling fixes Upstreamed: 12cb1c1fb10df1072116ccf472f40c1bba782fc3 Modified: vendor/openresolv/dist/resolvconf.8.in vendor/openresolv/dist/resolvconf.in Modified: vendor/openresolv/dist/resolvconf.8.in == --- vendor/openresolv/dist/resolvconf.8.in Sun May 29 16:18:55 2016 (r300961) +++ vendor/openresolv/dist/resolvconf.8.in Sun May 29 16:22:29 2016 (r300962) @@ -128,7 +128,7 @@ on the Here are some options for the above commands:- .Bl -tag -width indent .It Fl f -Ignore non existant interfaces. +Ignore non existent interfaces. Only really useful for deleting interfaces. .It Fl m Ar metric Set the metric of the interface when adding it, default of 0. Modified: vendor/openresolv/dist/resolvconf.in == --- vendor/openresolv/dist/resolvconf.inSun May 29 16:18:55 2016 (r300961) +++ vendor/openresolv/dist/resolvconf.inSun May 29 16:22:29 2016 (r300962) @@ -92,7 +92,7 @@ usage() -u Run updates from our current DNS information Options: - -f Ignore non existant interfaces + -f Ignore non existent interfaces -m metricGive the added DNS information a metric -p Mark the interface as private -x Mark the interface as exclusive @@ -884,7 +884,7 @@ export RESOLVCONF DOMAINS SEARCH NAMESER retval=0 # Run scripts in the same directory resolvconf is run from -# in case any scripts accidently dump files in the wrong place. +# in case any scripts accidentally dump files in the wrong place. cd "$_PWD" for script in "$LIBEXECDIR"/*; do if [ -f "$script" ]; then ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300961 - vendor/one-true-awk/dist
Author: pfg Date: Sun May 29 16:18:55 2016 New Revision: 300961 URL: https://svnweb.freebsd.org/changeset/base/300961 Log: one-true-awk: replace 0 with NULL for pointers Also remove a redundant semicolon. Submitted upstream already. Modified: vendor/one-true-awk/dist/b.c vendor/one-true-awk/dist/lex.c vendor/one-true-awk/dist/maketab.c vendor/one-true-awk/dist/parse.c vendor/one-true-awk/dist/run.c vendor/one-true-awk/dist/tran.c Modified: vendor/one-true-awk/dist/b.c == --- vendor/one-true-awk/dist/b.cSun May 29 16:10:01 2016 (r300960) +++ vendor/one-true-awk/dist/b.cSun May 29 16:18:55 2016 (r300961) @@ -82,11 +82,11 @@ fa *makedfa(const char *s, int anchor) / fa *pfa; static int now = 1; - if (setvec == 0) { /* first time through any RE */ + if (setvec == NULL) { /* first time through any RE */ maxsetvec = MAXLIN; setvec = (int *) malloc(maxsetvec * sizeof(int)); tmpset = (int *) malloc(maxsetvec * sizeof(int)); - if (setvec == 0 || tmpset == 0) + if (setvec == NULL || tmpset == NULL) overflo("out of space initializing makedfa"); } @@ -290,11 +290,11 @@ char *cclenter(const char *argp) /* add int i, c, c2; uschar *p = (uschar *) argp; uschar *op, *bp; - static uschar *buf = 0; + static uschar *buf = NULL; static int bufsz = 100; op = p; - if (buf == 0 && (buf = (uschar *) malloc(bufsz)) == NULL) + if (buf == NULL && (buf = (uschar *) malloc(bufsz)) == NULL) FATAL("out of space for character class [%.10s...] 1", p); bp = buf; for (i = 0; (c = *p++) != 0; ) { @@ -350,7 +350,7 @@ void cfoll(fa *f, Node *v) /* enter foll maxsetvec *= 4; setvec = (int *) realloc(setvec, maxsetvec * sizeof(int)); tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int)); - if (setvec == 0 || tmpset == 0) + if (setvec == NULL || tmpset == NULL) overflo("out of space in cfoll()"); } for (i = 0; i <= f->accept; i++) @@ -391,7 +391,7 @@ int first(Node *p) /* collects initially maxsetvec *= 4; setvec = (int *) realloc(setvec, maxsetvec * sizeof(int)); tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int)); - if (setvec == 0 || tmpset == 0) + if (setvec == NULL || tmpset == NULL) overflo("out of space in first()"); } if (type(p) == EMPTYRE) { @@ -770,7 +770,7 @@ int relex(void) /* lexical analyzer for { int c, n; int cflag; - static uschar *buf = 0; + static uschar *buf = NULL; static int bufsz = 100; uschar *bp; struct charclass *cc; @@ -795,7 +795,7 @@ int relex(void) /* lexical analyzer for rlxval = c; return CHAR; case '[': - if (buf == 0 && (buf = (uschar *) malloc(bufsz)) == NULL) + if (buf == NULL && (buf = (uschar *) malloc(bufsz)) == NULL) FATAL("out of space in reg expr %.10s..", lastre); bp = buf; if (*prestr == '^') { @@ -860,7 +860,7 @@ int cgoto(fa *f, int s, int c) maxsetvec *= 4; setvec = (int *) realloc(setvec, maxsetvec * sizeof(int)); tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int)); - if (setvec == 0 || tmpset == 0) + if (setvec == NULL || tmpset == NULL) overflo("out of space in cgoto()"); } for (i = 0; i <= f->accept; i++) @@ -882,7 +882,7 @@ int cgoto(fa *f, int s, int c) maxsetvec *= 4; setvec = (int *) realloc(setvec, maxsetvec * sizeof(int)); tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int)); - if (setvec == 0 || tmpset == 0) + if (setvec == NULL || tmpset == NULL) overflo("cgoto overflow"); } if (setvec[q[j]] == 0) { Modified: vendor/one-true-awk/dist/lex.c == --- vendor/one-true-awk/dist/lex.c Sun May 29 16:10:01 2016 (r300960) +++ vendor/one-true-awk/dist/lex.c Sun May 29 16
Re: svn commit: r300914 - head/share/timedef
On Sat, May 28, 2016 at 09:26:50PM +, Baptiste Daroussin wrote: > New Revision: 300914 > URL: https://svnweb.freebsd.org/changeset/base/300914 > > Log: > Readd week day to default dates > > Requested by: many OK, so it means I no longer have to use LC_TIME=ja_JP.UTF-8 to get those? Nice, thank you. ./danfe ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300960 - head/contrib/binutils/include
Author: ed Date: Sun May 29 16:10:01 2016 New Revision: 300960 URL: https://svnweb.freebsd.org/changeset/base/300960 Log: Replace local prototype of basename() with an inclusion of . libiberty currently defines the prototype for basename() itself instead of using . It still uses the BSD-style prototype instead of the POSIX one, meaning that if FreeBSD would switch over to the POSIX one, you wouldn't be able to use libiberty.h and libgen.h in a single source file. It turns out that kgdb does this. Patch up libiberty to just include . I'm currently talking to upstream to see whether we can come up with a more complete solution that could be integrated, but for our unmaintained copy of GDB in base, let's just apply the simplest workaround possible. Reviewed by: pfg Differential Revision:https://reviews.freebsd.org/D6631 Modified: head/contrib/binutils/include/libiberty.h Modified: head/contrib/binutils/include/libiberty.h == --- head/contrib/binutils/include/libiberty.h Sun May 29 15:46:19 2016 (r300959) +++ head/contrib/binutils/include/libiberty.h Sun May 29 16:10:01 2016 (r300960) @@ -102,7 +102,7 @@ extern int writeargv PARAMS ((char **, F is 1, we found it so don't provide any declaration at all. */ #if !HAVE_DECL_BASENAME #if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) || defined (HAVE_DECL_BASENAME) -extern char *basename (const char *); +#include #else /* Do not allow basename to be used if there is no prototype seen. We either need to use the above prototype or have one from ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300957 - head/lib/libc/sys
On Sun, May 29, 2016 at 02:16:24PM +, Jilles Tjoelker wrote: > Author: jilles > Date: Sun May 29 14:16:23 2016 > New Revision: 300957 > URL: https://svnweb.freebsd.org/changeset/base/300957 > > Log: > _umtx_op(2),thr_*(2): Various spelling, grammar and mdoc fixes. I must say thanks both to Ed Maste and to you for making my original text tolerable for the native English readers. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300959 - head/sys/vm
Author: kib Date: Sun May 29 15:46:19 2016 New Revision: 300959 URL: https://svnweb.freebsd.org/changeset/base/300959 Log: Do not leak the vm object lock when swap reservation failed, in vm_object_coalesce(). Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after:1 week Modified: head/sys/vm/vm_object.c Modified: head/sys/vm/vm_object.c == --- head/sys/vm/vm_object.c Sun May 29 15:02:55 2016(r300958) +++ head/sys/vm/vm_object.c Sun May 29 15:46:19 2016(r300959) @@ -2123,6 +2123,7 @@ vm_object_coalesce(vm_object_t prev_obje */ if (!reserved && !swap_reserve_by_cred(ptoa(next_size), prev_object->cred)) { + VM_OBJECT_WUNLOCK(prev_object); return (FALSE); } prev_object->charge += ptoa(next_size); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300233 - stable/10/share/mk
On 20/05/2016 5:41 AM, Bryan Drewery wrote: Author: bdrewery Date: Thu May 19 21:41:35 2016 New Revision: 300233 URL: https://svnweb.freebsd.org/changeset/base/300233 I always assumed there was a good reason for not allowing that. is there not a "WITH_FOO" or "WITHOUT_FOO" for every MK_FOO? Log: Allow MK_ overrides. This is a direct commit to stable. This was done in head in r264661 and is needed to force certain options off for ports. PR: D6271 Sponsored by:EMC / Isilon Storage Division Modified: stable/10/share/mk/bsd.own.mk Modified: stable/10/share/mk/bsd.own.mk == --- stable/10/share/mk/bsd.own.mk Thu May 19 21:08:33 2016 (r300232) +++ stable/10/share/mk/bsd.own.mk Thu May 19 21:41:35 2016 (r300233) @@ -483,9 +483,6 @@ __DEFAULT_NO_OPTIONS+=HYPERV .if defined(WITH_${var}) && defined(WITHOUT_${var}) .error WITH_${var} and WITHOUT_${var} can't both be set. .endif -.if defined(MK_${var}) -.error MK_${var} can't be set by a user. -.endif .if defined(WITHOUT_${var}) MK_${var}:= no .else @@ -501,9 +498,6 @@ MK_${var}:= yes .if defined(WITH_${var}) && defined(WITHOUT_${var}) .error WITH_${var} and WITHOUT_${var} can't both be set. .endif -.if defined(MK_${var}) -.error MK_${var} can't be set by a user. -.endif .if defined(WITH_${var}) MK_${var}:= yes .else @@ -621,9 +615,6 @@ MK_TESTS:= no .if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) .error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. .endif -.if defined(MK_${var}_SUPPORT) -.error MK_${var}_SUPPORT can't be set by a user. -.endif .if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" MK_${var}_SUPPORT:= no .else @@ -640,9 +631,6 @@ MK_${var}_SUPPORT:= yes .if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H}) .error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set. .endif -.if defined(MK_${vv:H}) -.error MK_${vv:H} can't be set by a user. -.endif .if defined(WITH_${vv:H}) MK_${vv:H}:= yes .elif defined(WITHOUT_${vv:H}) @@ -661,9 +649,6 @@ MK_${vv:H}:=${MK_${vv:T}} .if defined(WITH_${var}) && defined(WITHOUT_${var}) .error WITH_${var} and WITHOUT_${var} can't both be set. .endif -.if defined(MK_${var}) -.error MK_${var} can't be set by a user. -.endif .if ${COMPILER_FEATURES:Mc++11} .if defined(WITHOUT_${var}) MK_${var}:= no ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300958 - head/lib/libc/sys
Author: jilles Date: Sun May 29 15:02:55 2016 New Revision: 300958 URL: https://svnweb.freebsd.org/changeset/base/300958 Log: _umtx_op(2): Note deprecation of UMTX_OP_MUTEX_WAKE. Modified: head/lib/libc/sys/_umtx_op.2 Modified: head/lib/libc/sys/_umtx_op.2 == --- head/lib/libc/sys/_umtx_op.2Sun May 29 14:16:23 2016 (r300957) +++ head/lib/libc/sys/_umtx_op.2Sun May 29 15:02:55 2016 (r300958) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 17, 2016 +.Dd May 29, 2016 .Dt _UMTX_OP 2 .Os .Sh NAME @@ -1041,6 +1041,20 @@ with the byte addressed by the if any. Only normal mutexes are supported by the request. The sleep queue is always one for a normal mutex type. +.Pp +This request is deprecated in favor of +.Dv UMTX_OP_MUTEX_WAKE2 +since mutexes using it cannot synchronize their own destruction. +That is, the +.Dv m_owner +word has already been set to +.Dv UMUTEX_UNOWNED +when this request is made, +so that another thread can lock, unlock and destroy the mutex +(if no other thread uses the mutex afterwards). +Clearing the +.Dv UMUTEX_CONTESTED +bit may then modify freed memory. .It Dv UMTX_OP_MUTEX_WAKE2 Check if a umutex is unlocked and wake up a waiter. The arguments for the request are: ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300957 - head/lib/libc/sys
Author: jilles Date: Sun May 29 14:16:23 2016 New Revision: 300957 URL: https://svnweb.freebsd.org/changeset/base/300957 Log: _umtx_op(2),thr_*(2): Various spelling, grammar and mdoc fixes. Modified: head/lib/libc/sys/_umtx_op.2 head/lib/libc/sys/thr_exit.2 head/lib/libc/sys/thr_kill.2 head/lib/libc/sys/thr_new.2 head/lib/libc/sys/thr_self.2 head/lib/libc/sys/thr_set_name.2 Modified: head/lib/libc/sys/_umtx_op.2 == --- head/lib/libc/sys/_umtx_op.2Sun May 29 13:57:06 2016 (r300956) +++ head/lib/libc/sys/_umtx_op.2Sun May 29 14:16:23 2016 (r300957) @@ -257,7 +257,7 @@ are defined, in addition to the common f .It Dv URWLOCK_PREFER_READER If specified, immediately grant read lock requests when .Dv urwlock -is already read-locked, even in presence of the unsatisfied write +is already read-locked, even in presence of unsatisfied write lock requests. By default, if there is a write lock waiter, further read requests are not granted, to prevent unfair write lock waiter starvation. @@ -387,7 +387,7 @@ variant which returns an error rather th be obtained. Also, .Fn _umtx_op -provides requests which explicitely put the thread to sleep. +provides requests which explicitly put the thread to sleep. .Pp Wakes need to know which threads to make runnable, so sleeping threads are grouped into containers called @@ -399,12 +399,12 @@ Note that the .Em physical address is used, which means that same variable mapped multiple times will give one key value. -This mechanism enables the construction of the +This mechanism enables the construction of .Em process-shared locks. .Pp A related attribute of the key is shareability. -Some requests always interpet keys as private for the current process, +Some requests always interpret keys as private for the current process, creating sleep queues with the scope of the current process even if the memory is shared. Others either select the shareability automatically from the @@ -435,7 +435,8 @@ the queue are selected. The .Em robust umutexes are provided as a substrate for a userspace library to implement -POSIX robust mutexes. +.Tn POSIX +robust mutexes. A robust umutex must have the .Dv UMUTEX_ROBUST flag set. @@ -524,13 +525,13 @@ argument is compared with the If they are equal, the requesting thread is put to interruptible sleep until woken up or the optionally specified timeout expires. .Pp -The comparision and sleep are atomic. +The comparison and sleep are atomic. In other words, if another thread writes a new value to .Dv *obj and then issues .Dv UMTX_OP_WAKE , the request is guaranteed to not miss the wakeup, -which might otherwise happen between comparision and blocking. +which might otherwise happen between comparison and blocking. .Pp The physical address of memory where the .Fa *obj @@ -599,7 +600,7 @@ contention indicator, and provides the a lock entrance semantic. .Pp If the lock cannot be obtained immediately because another thread owns -the lock, the current thread is put into sleep, with +the lock, the current thread is put to sleep, with .Dv UMUTEX_CONTESTED bit set before. Upon wake up, the lock conditions are re-tested. @@ -668,7 +669,9 @@ New ceiling value. .It Fa uaddr Address of a variable of type .Vt uint32_t . -If not NULL, after the successful update the previous ceiling value is +If not +.Dv NULL +and the update was successful, the previous ceiling value is written to the location pointed to by .Fa uaddr . .El @@ -685,7 +688,9 @@ member of the after which the umutex is unlocked. .Pp The locking does not adhere to the priority protect protocol, -to confirm with the POSIX requirements for the +to conform to the +.Tn POSIX +requirements for the .Xr pthread_mutex_setprioceiling 3 interface. .It Dv UMTX_OP_CV_WAIT @@ -769,7 +774,8 @@ If the flag is supplied, the timeout specifies absolute time value, otherwise it denotes a relative time interval. .Pp -The request is not restartable. An unblocked signal delivered during +The request is not restartable. +An unblocked signal delivered during the wait always results in sleep interruption and .Er EINTR error. @@ -845,7 +851,7 @@ If the .Dv URWLOCK_WRITE_OWNER bit is set in the word .Dv rw_state , -the lock was granted to a writer which has not yet relinguished +the lock was granted to a writer which has not yet relinquished its ownership. In this case the current thread is put to sleep until it makes sense to retry. @@ -959,7 +965,7 @@ Same as .Dv UMTX_OP_WAKE , but unconditionally select the process-private sleep queue. .It Dv UMTX_OP_MUTEX_WAIT -Wait for the mutex availability. +Wait for mutex availability. The arguments to the request are: .Bl -tag -width "It Fa obj" .It Fa obj @@ -986,12 +992,12 @@ priority inherited protocol mutexes. Optionally, a timeout for the request may be specified. .Pp .Pp -The request with a t
svn commit: r300956 - head/lib/libc/stdlib
Author: ache Date: Sun May 29 13:57:06 2016 New Revision: 300956 URL: https://svnweb.freebsd.org/changeset/base/300956 Log: 1) Unifdef USE_WEAK_SEEDING since it is too obsolete to support and makes reading hard. 2) Instead of doing range transformation in each and every function here, do it single time directly in do_rand(). One "mod" operation overhead is not a big deal, but the code looks nicer and possible future functions additions or PRNG change do not miss range transformations neither have unneeded ones. 3) Use POSIX argument types for visible functions (cosmetic). MFC after: 1 week Modified: head/lib/libc/stdlib/rand.c Modified: head/lib/libc/stdlib/rand.c == --- head/lib/libc/stdlib/rand.c Sun May 29 12:21:54 2016(r300955) +++ head/lib/libc/stdlib/rand.c Sun May 29 13:57:06 2016(r300956) @@ -48,14 +48,6 @@ __FBSDID("$FreeBSD$"); static int do_rand(unsigned long *ctx) { -#ifdef USE_WEAK_SEEDING -/* - * Historic implementation compatibility. - * The random sequences do not vary much with the seed, - * even with overflowing. - */ - return ((*ctx = *ctx * 1103515245 + 12345) % ((u_long)RAND_MAX + 1)); -#else /* !USE_WEAK_SEEDING */ /* * Compute x = (7^5 * x) mod (2^31 - 1) * without overflowing 31 bits: @@ -66,48 +58,34 @@ do_rand(unsigned long *ctx) */ long hi, lo, x; - /* Must be in [1, 0x7ffe] range at this point. */ - hi = *ctx / 127773; - lo = *ctx % 127773; + /* Transform to [1, 0x7ffe] range. */ + x = (*ctx % 0x7ffe) + 1; + hi = x / 127773; + lo = x % 127773; x = 16807 * lo - 2836 * hi; if (x < 0) x += 0x7fff; - *ctx = x; /* Transform to [0, 0x7ffd] range. */ - return (x - 1); -#endif /* !USE_WEAK_SEEDING */ + x--; + *ctx = x; + return (x); } int -rand_r(unsigned int *ctx) +rand_r(unsigned *ctx) { u_long val; int r; -#ifdef USE_WEAK_SEEDING val = *ctx; -#else - /* Transform to [1, 0x7ffe] range. */ - val = (*ctx % 0x7ffe) + 1; -#endif r = do_rand(&val); - -#ifdef USE_WEAK_SEEDING - *ctx = (unsigned int)val; -#else - *ctx = (unsigned int)(val - 1); -#endif + *ctx = (unsigned)val; return (r); } -static u_long next = -#ifdef USE_WEAK_SEEDING -1; -#else -2; -#endif +static u_long next = 1; int rand(void) @@ -116,13 +94,9 @@ rand(void) } void -srand(u_int seed) +srand(unsigned seed) { next = seed; -#ifndef USE_WEAK_SEEDING - /* Transform to [1, 0x7ffe] range. */ - next = (next % 0x7ffe) + 1; -#endif } @@ -144,10 +118,6 @@ sranddev(void) mib[0] = CTL_KERN; mib[1] = KERN_ARND; sysctl(mib, 2, (void *)&next, &len, NULL, 0); -#ifndef USE_WEAK_SEEDING - /* Transform to [1, 0x7ffe] range. */ - next = (next % 0x7ffe) + 1; -#endif } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300955 - head/include
Author: ed Date: Sun May 29 12:21:54 2016 New Revision: 300955 URL: https://svnweb.freebsd.org/changeset/base/300955 Log: Fix style of the libgen.h header. - Remove unneeded declarations of removed/unimplemented features. - Add missing tab after #define. - Add missing ! before trailing comment. Modified: head/include/libgen.h Modified: head/include/libgen.h == --- head/include/libgen.h Sun May 29 12:16:58 2016(r300954) +++ head/include/libgen.h Sun May 29 12:21:54 2016(r300955) @@ -29,22 +29,14 @@ */ #ifndef _LIBGEN_H_ -#define _LIBGEN_H_ +#define_LIBGEN_H_ #include __BEGIN_DECLS - char *basename(const char *); char *basename_r(const char *, char *); char *dirname(const char *); -#if 0 -char *regcmp(const char *, ...); -char *regex(const char *, const char *, ...); - -extern char *__loc1; -#endif - __END_DECLS -#endif /* _LIBGEN_H_ */ +#endif /* !_LIBGEN_H_ */ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300954 - stable/10/lib/libc/sys
Author: jilles Date: Sun May 29 12:16:58 2016 New Revision: 300954 URL: https://svnweb.freebsd.org/changeset/base/300954 Log: MFC r300420: vfork(2): Mention some risks of calling vfork() from application code. Modified: stable/10/lib/libc/sys/vfork.2 Modified: stable/10/lib/libc/sys/vfork.2 == --- stable/10/lib/libc/sys/vfork.2 Sun May 29 11:54:09 2016 (r300953) +++ stable/10/lib/libc/sys/vfork.2 Sun May 29 12:16:58 2016 (r300954) @@ -28,7 +28,7 @@ .\" @(#)vfork.28.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd April 6, 2015 +.Dd May 22, 2016 .Dt VFORK 2 .Os .Sh NAME @@ -41,11 +41,20 @@ .Ft pid_t .Fn vfork void .Sh DESCRIPTION +.Bf -symbolic +Since this function is hard to use correctly from application software, +it is recommended to use +.Xr posix_spawn 3 +or +.Xr fork 2 +instead. +.Ef +.Pp The .Fn vfork system call can be used to create new processes without fully copying the address -space of the old process, which is horrendously inefficient in a paged +space of the old process, which is inefficient in a paged environment. It is useful when the purpose of .Xr fork 2 @@ -56,13 +65,15 @@ The system call differs from .Xr fork 2 -in that the child borrows the parent's memory and thread of -control until a call to +in that the child borrows the parent process's address space and the +calling thread's stack +until a call to .Xr execve 2 or an exit (either by a call to .Xr _exit 2 or abnormally). -The parent process is suspended while the child is using its resources. +The calling thread is suspended while the child is using its resources. +Other threads continue to run. .Pp The .Fn vfork @@ -70,17 +81,21 @@ system call returns 0 in the child's context and (later) the pid of the child in the parent's context. .Pp -The -.Fn vfork -system call -can normally be used just like -.Xr fork 2 . -It does not work, however, to return while running in the child's context +Many problems can occur when replacing +.Xr fork 2 +with +.Fn vfork . +For example, it does not work to return while running in the child's context from the procedure that called .Fn vfork since the eventual return from .Fn vfork would then return to a no longer existent stack frame. +Also, changing process state which is partially implemented in user space +such as signal handlers with +.Xr libthr 3 +will corrupt the parent's state. +.Pp Be careful, also, to call .Xr _exit 2 rather than @@ -106,7 +121,8 @@ Same as for .Xr rfork 2 , .Xr sigaction 2 , .Xr wait 2 , -.Xr exit 3 +.Xr exit 3 , +.Xr posix_spawn 3 .Sh HISTORY The .Fn vfork ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300953 - head/lib/libc/stdlib
Author: ache Date: Sun May 29 11:54:09 2016 New Revision: 300953 URL: https://svnweb.freebsd.org/changeset/base/300953 Log: 1) Unifdef USE_WEAK_SEEDING it is too obsolete to support and makes reading harder. 2) ACM paper require seed to be in [1, 2^31-2] range, so use the same range shifting as already done for rand(3). Also protect srandomdev() + TYPE_0 case (non default) from negative seeds. 3) Don't check for valid "type" range in setstate(), it is always valid as calculated. Instead add a check that rear pointer not exceeed end pointer. MFC after: 1 week Modified: head/lib/libc/stdlib/random.c Modified: head/lib/libc/stdlib/random.c == --- head/lib/libc/stdlib/random.c Sun May 29 10:41:27 2016 (r300952) +++ head/lib/libc/stdlib/random.c Sun May 29 11:54:09 2016 (r300953) @@ -137,11 +137,7 @@ __FBSDID("$FreeBSD$"); */ #defineMAX_TYPES 5 /* max number of types above */ -#ifdef USE_WEAK_SEEDING -#define NSHUFF 0 -#else /* !USE_WEAK_SEEDING */ #define NSHUFF 50 /* to drop some "seed -> 1st value" linearity */ -#endif /* !USE_WEAK_SEEDING */ static const int degrees[MAX_TYPES] = { DEG_0, DEG_1, DEG_2, DEG_3, DEG_4 }; static const int seps [MAX_TYPES] ={ SEP_0, SEP_1, SEP_2, SEP_3, SEP_4 }; @@ -162,23 +158,12 @@ static const int seps [MAX_TYPES] = { SE static uint32_t randtbl[DEG_3 + 1] = { TYPE_3, -#ifdef USE_WEAK_SEEDING -/* Historic implementation compatibility */ -/* The random sequences do not vary much with the seed */ - 0x9a319039, 0x32d9c024, 0x9b663182, 0x5da1f342, 0xde3b81e0, 0xdf0a6fb5, - 0xf103bc02, 0x48f340fb, 0x7449e56b, 0xbeb1dbb0, 0xab5c5918, 0x946554fd, - 0x8c2e680f, 0xeb3d799f, 0xb11ee0b7, 0x2d436b86, 0xda672e2a, 0x1588ca88, - 0xe369735d, 0x904f35f7, 0xd7158fd6, 0x6fa6f051, 0x616e6b96, 0xac94efdc, - 0x36413f93, 0xc622c298, 0xf5a42ab8, 0x8a88d77b, 0xf5ad9d0e, 0x8999220b, - 0x27fb47b9, -#else /* !USE_WEAK_SEEDING */ - 0x991539b1, 0x16a5bce3, 0x6774a4cd, 0x3e01511e, 0x4e508aaa, 0x61048c05, - 0xf5500617, 0x846b7115, 0x6a19892c, 0x896a97af, 0xdb48f936, 0x14898454, - 0x37ffd106, 0xb58bff9c, 0x59e17104, 0xcf918a49, 0x09378c83, 0x52c7a471, - 0x8d293ea9, 0x1f4fc301, 0xc3db71be, 0x39b44e1c, 0xf8a44ef9, 0x4c8b80b1, - 0x19edc328, 0x87bf4bdd, 0xc9b240e5, 0xe9ee4b1b, 0x4382aee7, 0x535b6b41, - 0xf3bec5da -#endif /* !USE_WEAK_SEEDING */ + 0x2cf41758, 0x27bb3711, 0x4916d4d1, 0x7b02f59f, 0x9b8e28eb, 0xc0e80269, + 0x696f5c16, 0x878f1ff5, 0x52d9c07f, 0x916a06cd, 0xb50b3a20, 0x2776970a, + 0xee4eb2a6, 0xe94640ec, 0xb1d65612, 0x9d1ed968, 0x1043f6b7, 0xa3432a76, + 0x17eacbb9, 0x3c09e2eb, 0x4f8c2b3, 0x708a1f57, 0xee341814, 0x95d0e4d2, + 0xb06f216c, 0x8bd2e72e, 0x8f7c38d7, 0xcfc6a8fc, 0x2a59495, 0xa20d2a69, + 0xe29d12d1 }; /* @@ -215,16 +200,8 @@ static int rand_sep = SEP_3; static uint32_t *end_ptr = &randtbl[DEG_3 + 1]; static inline uint32_t -good_rand(int32_t x) +good_rand(uint32_t ctx) { -#ifdef USE_WEAK_SEEDING -/* - * Historic implementation compatibility. - * The random sequences do not vary much with the seed, - * even with overflowing. - */ - return (1103515245 * x + 12345); -#else /* !USE_WEAK_SEEDING */ /* * Compute x = (7^5 * x) mod (2^31 - 1) * wihout overflowing 31 bits: @@ -233,18 +210,17 @@ good_rand(int32_t x) * Park and Miller, Communications of the ACM, vol. 31, no. 10, * October 1988, p. 1195. */ - int32_t hi, lo; + int32_t hi, lo, x; - /* Can't be initialized with 0, so use another value. */ - if (x == 0) - x = 123459876; + /* Transform to [1, 0x7ffe] range. */ + x = (ctx % 0x7ffe) + 1; hi = x / 127773; lo = x % 127773; x = 16807 * lo - 2836 * hi; if (x < 0) x += 0x7fff; - return (x); -#endif /* !USE_WEAK_SEEDING */ + /* Transform to [0, 0x7ffd] range. */ + return (x - 1); } /* @@ -404,16 +380,8 @@ setstate(char *arg_state) uint32_t rear = new_state[0] / MAX_TYPES; char *ostate = (char *)(&state[-1]); - switch(type) { - case TYPE_0: - case TYPE_1: - case TYPE_2: - case TYPE_3: - case TYPE_4: - break; - default: + if (type != TYPE_0 && rear >= degrees[type]) return (NULL); - } if (rand_type == TYPE_0) state[-1] = rand_type; else @@ -455,7 +423,7 @@ random(void) if (rand_type == TYPE_0) { i = state[0]; - state[0] = i = (good_rand(i)) & 0x7fff; + state[0] = i = good_rand(i); } else { /* * Use local variables rather than static variables for speed.
svn commit: r300952 - head/usr.sbin/services_mkdb
Author: ed Date: Sun May 29 10:41:27 2016 New Revision: 300952 URL: https://svnweb.freebsd.org/changeset/base/300952 Log: Invoke the dirname() function in a POSIX compliant way. POSIX requires that the argument of dirname() is of type "char *". In other words, the input buffer can be modified by the function to store the directory name. Pull a copy of the string before calling dirname(). We don't care about freeing up the memory afterwards, as this is done at the very bottom of main(), right before the program terminates. Reviewed by: bapt Differential Revision:https://reviews.freebsd.org/D6628 Modified: head/usr.sbin/services_mkdb/services_mkdb.c Modified: head/usr.sbin/services_mkdb/services_mkdb.c == --- head/usr.sbin/services_mkdb/services_mkdb.c Sun May 29 07:39:56 2016 (r300951) +++ head/usr.sbin/services_mkdb/services_mkdb.c Sun May 29 10:41:27 2016 (r300952) @@ -92,7 +92,7 @@ main(int argc, char *argv[]) size_t cnt = 0; StringList *sl, ***svc; size_t port, proto; - char *dbname_dir; + char *dbname_dir, *dbname_dirbuf; int dbname_dir_fd = -1; setprogname(argv[0]); @@ -172,7 +172,8 @@ main(int argc, char *argv[]) * fsync() to the directory where file lies */ if (rename(tname, dbname) == -1 || - (dbname_dir = dirname(dbname)) == NULL || + (dbname_dirbuf = strdup(dbname)) == NULL || + (dbname_dir = dirname(dbname_dirbuf)) == NULL || (dbname_dir_fd = open(dbname_dir, O_RDONLY|O_DIRECTORY)) == -1 || fsync(dbname_dir_fd) != 0) { if (dbname_dir_fd != -1) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300935 - head/usr.sbin/rpc.statd
Hi Bruce, Garrett, 2016-05-29 9:31 GMT+02:00 Bruce Evans : > On Sun, 29 May 2016, Garrett Cooper wrote: > >> Log: >> Mark out_of_mem(..) and usage(..) with __dead2 as they both directly call >> exit >> as a hint to static analysis tools > > This is bogus for usage() since it is static so only very broken static > analyis tools can't see its full details. Exactly. I think it's important to keep in mind what the intent of this attribute is: to pass compiler optimization state across compilation units. For static functions, this has absolutely no meaning. Also, as we already live in the year 2016, please use the following construct in case you really want to mark this function as no-return: #include static noreturn void usage(void) { ... } In public header files where you likely don't want to pollute the namespace, use _Noreturn instead. Thanks, -- Ed Schouten Nuxi, 's-Hertogenbosch, the Netherlands KvK-nr.: 62051717 ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300935 - head/usr.sbin/rpc.statd
On Sun, 29 May 2016, Garrett Cooper wrote: Log: Mark out_of_mem(..) and usage(..) with __dead2 as they both directly call exit as a hint to static analysis tools This is bogus for usage() since it is static so only very broken static analyis tools can't see its full details. Modified: head/usr.sbin/rpc.statd/statd.c == --- head/usr.sbin/rpc.statd/statd.c Sun May 29 04:02:02 2016 (r300934) +++ head/usr.sbin/rpc.statd/statd.c Sun May 29 04:18:47 2016 (r300935) @@ -72,9 +72,9 @@ static intcreate_service(struct netconf static void complete_service(struct netconfig *nconf, char *port_str); static void clearout_service(void); static void handle_sigchld(int sig); -void out_of_mem(void); +void out_of_mem(void) __dead2; This is even more bogus: - out_of_mem() is public, and this adds __dead2 in the one place that clearly doesn't need it - the declarartions are unsorted internally and externally. Prototypes for public functions belong in a header file. Some are already there, but this one is unsorted into the middle of static ones - however, perhaps this function should be static. It is only directly referenced in this file. I don't know if it is also referenced in some other utility or rpc generated code. If so, then these are probably missing the __dead2. -static void usage(void); +static void usage(void) __dead2; There are also many lexical (indentation) style bugs near here, in all of the newer prototypes starting with handle_sigchld(). int main(int argc, char **argv) @@ -613,7 +613,7 @@ clearout_service(void) } static void -usage() +usage(void) Perhaps Coverity was just complaining about this K&R definition. No change was needed, since there is a prototype in scope. Bruce ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300951 - head/sys/arm/arm
Author: mmel Date: Sun May 29 07:39:56 2016 New Revision: 300951 URL: https://svnweb.freebsd.org/changeset/base/300951 Log: ARM GIC: Allow to setup interrupt without configuration data. In some cases, like for PCI devices, only interrupt numbers are enumerated from HW. In this case, use INTR_foo_CONFORM as level and trigger values. Modified: head/sys/arm/arm/gic.c Modified: head/sys/arm/arm/gic.c == --- head/sys/arm/arm/gic.c Sun May 29 07:29:35 2016(r300950) +++ head/sys/arm/arm/gic.c Sun May 29 07:39:56 2016(r300951) @@ -1128,8 +1128,11 @@ arm_gic_setup_intr(device_t dev, struct if (gi->gi_irq != irq) return (EINVAL); - } else - return (ENOTSUP); + } else { + irq = gi->gi_irq; + pol = INTR_POLARITY_CONFORM; + trig = INTR_TRIGGER_CONFORM; + } /* Compare config if this is not first setup. */ if (isrc->isrc_handlers != 0) { ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300948 - stable/10/sys/dev/iicbus
Author: jah Date: Sun May 29 07:14:51 2016 New Revision: 300948 URL: https://svnweb.freebsd.org/changeset/base/300948 Log: MFC r300258: iic_rdwr_data->nmsgs is uint32_t, so limit the allowable number of messages to prevent memory exhaustion and short allocations on 32-bit systems. Since iicrdwr is intended to be a workalike of a Linux i2c-dev call, use the same limit of 42 that Linux uses. Also check the return value of copyin(9) to prevent unnecessary allocation in the failure case. Modified: stable/10/sys/dev/iicbus/iic.c stable/10/sys/dev/iicbus/iic.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/iicbus/iic.c == --- stable/10/sys/dev/iicbus/iic.c Sun May 29 07:01:12 2016 (r300947) +++ stable/10/sys/dev/iicbus/iic.c Sun May 29 07:14:51 2016 (r300948) @@ -299,9 +299,16 @@ iicrdwr(struct iic_cdevpriv *priv, struc parent = device_get_parent(iicdev); error = 0; + if (d->nmsgs > IIC_RDRW_MAX_MSGS) + return (EINVAL); + buf = malloc(sizeof(*d->msgs) * d->nmsgs, M_IIC, M_WAITOK); error = copyin(d->msgs, buf, sizeof(*d->msgs) * d->nmsgs); + if (error != 0) { + free(buf, M_IIC); + return (error); + } /* Alloc kernel buffers for userland data, copyin write data */ usrbufs = malloc(sizeof(void *) * d->nmsgs, M_IIC, M_WAITOK | M_ZERO); @@ -317,6 +324,8 @@ iicrdwr(struct iic_cdevpriv *priv, struc m->buf = NULL; if (error != 0) continue; + + /* m->len is uint16_t, so allocation size is capped at 64K. */ m->buf = malloc(m->len, M_IIC, M_WAITOK); if (!(m->flags & IIC_M_RD)) error = copyin(usrbufs[i], m->buf, m->len); Modified: stable/10/sys/dev/iicbus/iic.h == --- stable/10/sys/dev/iicbus/iic.h Sun May 29 07:01:12 2016 (r300947) +++ stable/10/sys/dev/iicbus/iic.h Sun May 29 07:14:51 2016 (r300948) @@ -56,6 +56,8 @@ struct iic_rdwr_data { uint32_t nmsgs; }; +#define IIC_RDRW_MAX_MSGS 42 + #define I2CSTART _IOW('i', 1, struct iiccmd) /* start condition */ #define I2CSTOP_IO('i', 2) /* stop condition */ #define I2CRSTCARD _IOW('i', 3, struct iiccmd) /* reset the card */ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300947 - head/usr.sbin/rpcbind
Author: ngie Date: Sun May 29 07:01:12 2016 New Revision: 300947 URL: https://svnweb.freebsd.org/changeset/base/300947 Log: Staticize variables only used in rpcbind.c This is some low hanging fruit necessary for making this WARNS?= 6 clean MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Modified: head/usr.sbin/rpcbind/rpcbind.c Modified: head/usr.sbin/rpcbind/rpcbind.c == --- head/usr.sbin/rpcbind/rpcbind.c Sun May 29 06:46:17 2016 (r300946) +++ head/usr.sbin/rpcbind/rpcbind.c Sun May 29 07:01:12 2016 (r300947) @@ -85,7 +85,7 @@ rpcblist_ptr list_rbl;/* A list of vers #define RPCBINDDLOCK "/var/run/rpcbind.lock" -int runasdaemon = 0; +static int runasdaemon = 0; int insecure = 0; int oldstyle_local = 0; #ifdef LIBWRAP @@ -93,12 +93,12 @@ int libwrap = 0; #endif int verboselog = 0; -char **hosts = NULL; -struct sockaddr **bound_sa; -int ipv6_only = 0; -int nhosts = 0; -int on = 1; -int rpcbindlockfd; +static char **hosts = NULL; +static struct sockaddr **bound_sa; +static int ipv6_only = 0; +static int nhosts = 0; +static int on = 1; +static int rpcbindlockfd; #ifdef WARMSTART /* Local Variable */ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300946 - stable/10/lib/libc/stdlib
Author: ache Date: Sun May 29 06:46:17 2016 New Revision: 300946 URL: https://svnweb.freebsd.org/changeset/base/300946 Log: MFC: r300397 1) POSIX prohibits printing errors to stderr here and require returning NULL: "Upon successful completion, initstate() and setstate() shall return a pointer to the previous state array; otherwise, a null pointer shall be returned. Although some implementations of random() have written messages to standard error, such implementations do not conform to POSIX.1-2008." 2) Move error detections earlier to prevent state modifying. Modified: stable/10/lib/libc/stdlib/random.c Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libc/stdlib/random.c == --- stable/10/lib/libc/stdlib/random.c Sun May 29 06:29:22 2016 (r300945) +++ stable/10/lib/libc/stdlib/random.c Sun May 29 06:46:17 2016 (r300946) @@ -37,7 +37,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include "un-namespace.h" @@ -341,15 +340,12 @@ initstate(unsigned long seed, char *arg_ char *ostate = (char *)(&state[-1]); uint32_t *int_arg_state = (uint32_t *)arg_state; + if (n < BREAK_0) + return (NULL); if (rand_type == TYPE_0) state[-1] = rand_type; else state[-1] = MAX_TYPES * (rptr - state) + rand_type; - if (n < BREAK_0) { - (void)fprintf(stderr, - "random: not enough state (%ld bytes); ignored.\n", n); - return (0); - } if (n < BREAK_1) { rand_type = TYPE_0; rand_deg = DEG_0; @@ -408,24 +404,23 @@ setstate(char *arg_state) uint32_t rear = new_state[0] / MAX_TYPES; char *ostate = (char *)(&state[-1]); - if (rand_type == TYPE_0) - state[-1] = rand_type; - else - state[-1] = MAX_TYPES * (rptr - state) + rand_type; switch(type) { case TYPE_0: case TYPE_1: case TYPE_2: case TYPE_3: case TYPE_4: - rand_type = type; - rand_deg = degrees[type]; - rand_sep = seps[type]; break; default: - (void)fprintf(stderr, - "random: state info corrupted; not changed.\n"); + return (NULL); } + if (rand_type == TYPE_0) + state[-1] = rand_type; + else + state[-1] = MAX_TYPES * (rptr - state) + rand_type; + rand_type = type; + rand_deg = degrees[type]; + rand_sep = seps[type]; state = new_state + 1; if (rand_type != TYPE_0) { rptr = &state[rear]; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300926 - head
On 5/28/16 6:45 PM, Bryan Drewery wrote: > Author: bdrewery > Date: Sun May 29 01:45:15 2016 > New Revision: 300926 > URL: https://svnweb.freebsd.org/changeset/base/300926 > > Log: > Libcompat: Set build tools in environment rather than make overrides. > Sigh. I just realized this breaks the build for users who put CC= in their make.conf. I'm just going to revert all of work leading up to this and implement the original fix differently. > This allows the CXX hack in r300917 for external GCC to work for > the lib32 build. It is also the same pattern as the native > build uses by adding the tools into CROSSENV for external > toolchain, rather than make overrides. > > Sponsored by: EMC / Isilon Storage Division > > Modified: > head/Makefile.libcompat > > Modified: head/Makefile.libcompat > == > --- head/Makefile.libcompat Sun May 29 01:43:28 2016(r300925) > +++ head/Makefile.libcompat Sun May 29 01:45:15 2016(r300926) > @@ -17,7 +17,7 @@ LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} > .endif > LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH=i386 \ > MACHINE_CPU="i686 mmx sse sse2" > -LIB32WMAKEFLAGS= \ > +LIB32WMAKEENV+= \ > AS="${XAS} --32" \ > LD="${XLD} -m elf_i386_fbsd -Y P,${LIBCOMPATTMP}/usr/lib32" \ > OBJCOPY="${XOBJCOPY}" > @@ -29,7 +29,7 @@ LIB32CPUFLAGS= -mcpu=powerpc > LIB32CPUFLAGS= -mcpu=${TARGET_CPUTYPE} > .endif > LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc > -LIB32WMAKEFLAGS= \ > +LIB32WMAKEENV+= \ > LD="${XLD} -m elf32ppc_fbsd" \ > OBJCOPY="${XOBJCOPY}" > .endif > @@ -84,9 +84,11 @@ LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${L > # Don't rebuild build-tools targets during normal build. > LIBCOMPATWMAKEENV+= BUILD_TOOLS_META=.NOMETA_CMP > .endif > -LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \ > +LIBCOMPATWMAKEENV+= \ > + CC="${XCC} ${LIBCOMPATCFLAGS}" \ > CXX="${XCXX} ${LIBCOMPATCFLAGS} ${LIBCOMPATCXXFLAGS}" \ > - CPP="${XCPP} ${LIBCOMPATCFLAGS}" \ > + CPP="${XCPP} ${LIBCOMPATCFLAGS}" > +LIBCOMPATWMAKEFLAGS+= \ > DESTDIR=${LIBCOMPATTMP} \ > -DNO_CPU_CFLAGS \ > MK_CTF=no \ > -- Regards, Bryan Drewery ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300932 - head/usr.sbin/rpcbind
> On May 28, 2016, at 20:44, Bryan Drewery wrote: > > On 5/28/2016 8:42 PM, Garrett Cooper wrote: >> Author: ngie >> Date: Sun May 29 03:42:50 2016 >> New Revision: 300932 >> URL: https://svnweb.freebsd.org/changeset/base/300932 >> >> Log: >> Catch malloc(3) errors and socket(2) errors >> >> - malloc failing will result in a delayed segfault >> - socket failing will result in delayed failures with setsockopt >> >> Exit in the event that either of these high-level conditions are met. >> >> Reported by: Coverity >> CID: 976288, 976321, 976858 >> Sponsored by: EMC / Isilon Storage Division >> >> Modified: >> head/usr.sbin/rpcbind/util.c >> >> Modified: head/usr.sbin/rpcbind/util.c >> == >> --- head/usr.sbin/rpcbind/util.c Sun May 29 02:59:03 2016 >> (r300931) >> +++ head/usr.sbin/rpcbind/util.c Sun May 29 03:42:50 2016 >> (r300932) >> @@ -336,6 +336,7 @@ network_init(void) >> if (local_in4 == NULL) { >> if (debugging) >> fprintf(stderr, "can't alloc local ip4 addr\n"); >> +exit(1); >> } >> memcpy(local_in4, res->ai_addr, sizeof *local_in4); >> } >> @@ -351,6 +352,7 @@ network_init(void) >> if (local_in6 == NULL) { >> if (debugging) >> fprintf(stderr, "can't alloc local ip6 addr\n"); >> +exit(1); > > Did something meaningful get printed before this on hitting this error, > without debug? Nope. It just crashed.. I’ve briefly thought about it, and I think that err/errx would be better. I’ll run some more tests/fix some more Coverity issues in the area, and send it out for CR. Thanks, -Ngie signature.asc Description: Message signed with OpenPGP using GPGMail
svn commit: r300933 - head/sbin/ifconfig
Author: allanjude Date: Sun May 29 03:44:37 2016 New Revision: 300933 URL: https://svnweb.freebsd.org/changeset/base/300933 Log: Add Documentation for missing ifconfig(8) flags autoconf / -autoconf deprecated / -deprecated pltime vltime PR: 209822 Submitted by: Sevan Janiyan MFC after:2 weeks Modified: head/sbin/ifconfig/ifconfig.8 Modified: head/sbin/ifconfig/ifconfig.8 == --- head/sbin/ifconfig/ifconfig.8 Sun May 29 03:42:50 2016 (r300932) +++ head/sbin/ifconfig/ifconfig.8 Sun May 29 03:44:37 2016 (r300933) @@ -635,6 +635,10 @@ controls whether this flag is set by def .It Cm -accept_rtadv Clear a flag .Cm accept_rtadv . +.It Cm autoconf +Set a flag to accept router advertisements on an interface. +.It Fl autoconf +Disable autoconfiguration. .It Cm no_radr Set a flag to control whether routers from which the system accepts Router Advertisement messages will be added to the Default Router List @@ -707,12 +711,20 @@ Note that the address family keyword .Dq Li inet6 is needed for them: .Bl -tag -width indent +.It Cm deprecated +Set the IPv6 deprecated address bit. +.It Fl deprecated +Clear the IPv6 deprecated address bit. +.It Cm pltime Ar n +Set preferred lifetime for the address. .It Cm prefer_source Set a flag to prefer address as a candidate of the source address for outgoing packets. .It Cm -prefer_source Clear a flag .Cm prefer_source . +.It Cm vltime Ar n +Set valid lifetime for the address. .El .Pp The following parameters are specific to cloning ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300932 - head/usr.sbin/rpcbind
On 5/28/2016 8:42 PM, Garrett Cooper wrote: > Author: ngie > Date: Sun May 29 03:42:50 2016 > New Revision: 300932 > URL: https://svnweb.freebsd.org/changeset/base/300932 > > Log: > Catch malloc(3) errors and socket(2) errors > > - malloc failing will result in a delayed segfault > - socket failing will result in delayed failures with setsockopt > > Exit in the event that either of these high-level conditions are met. > > Reported by: Coverity > CID: 976288, 976321, 976858 > Sponsored by: EMC / Isilon Storage Division > > Modified: > head/usr.sbin/rpcbind/util.c > > Modified: head/usr.sbin/rpcbind/util.c > == > --- head/usr.sbin/rpcbind/util.c Sun May 29 02:59:03 2016 > (r300931) > +++ head/usr.sbin/rpcbind/util.c Sun May 29 03:42:50 2016 > (r300932) > @@ -336,6 +336,7 @@ network_init(void) > if (local_in4 == NULL) { > if (debugging) > fprintf(stderr, "can't alloc local ip4 addr\n"); > + exit(1); > } > memcpy(local_in4, res->ai_addr, sizeof *local_in4); > } > @@ -351,6 +352,7 @@ network_init(void) > if (local_in6 == NULL) { > if (debugging) > fprintf(stderr, "can't alloc local ip6 addr\n"); > + exit(1); Did something meaningful get printed before this on hitting this error, without debug? > } > memcpy(local_in6, res->ai_addr, sizeof *local_in6); > } > @@ -365,6 +367,11 @@ network_init(void) > inet_pton(AF_INET6, RPCB_MULTICAST_ADDR, &mreq6.ipv6mr_multiaddr); > > s = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP); > + if (s == -1) { > + if (debugging) > + fprintf(stderr, "couldn't create ip6 socket"); > + exit(1); > + } > > /* >* Loop through all interfaces. For each IPv6 multicast-capable > -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r300927 - head/sys/dev/ixl
Author: ngie Date: Sun May 29 01:52:05 2016 New Revision: 300927 URL: https://svnweb.freebsd.org/changeset/base/300927 Log: Delete duplicate declaration for i40e_blink_phy_link_led(..) It was already declared on line 90 Differential Revision: https://reviews.freebsd.org/D6570 Reported by: gcc Reviewed by: sbruno Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ixl/i40e_prototype.h Modified: head/sys/dev/ixl/i40e_prototype.h == --- head/sys/dev/ixl/i40e_prototype.h Sun May 29 01:45:15 2016 (r300926) +++ head/sys/dev/ixl/i40e_prototype.h Sun May 29 01:52:05 2016 (r300927) @@ -501,6 +501,4 @@ enum i40e_status_code i40e_read_phy_regi enum i40e_status_code i40e_write_phy_register(struct i40e_hw *hw, u8 page, u16 reg, u8 phy_addr, u16 value); u8 i40e_get_phy_address(struct i40e_hw *hw, u8 dev_num); -enum i40e_status_code i40e_blink_phy_link_led(struct i40e_hw *hw, - u32 time, u32 interval); #endif /* _I40E_PROTOTYPE_H_ */ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300924 - vendor/Juniper/libxo/0.6.2
Author: phil Date: Sun May 29 01:40:48 2016 New Revision: 300924 URL: https://svnweb.freebsd.org/changeset/base/300924 Log: Tag libxo 0.6.2 Added: - copied from r300923, vendor/Juniper/libxo/dist/ Directory Properties: vendor/Juniper/libxo/0.6.2/ (props changed) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300949 - head/sys/netpfil/ipfw
On Sun, 29 May 2016, Don Lewis wrote: Log: Cast some expressions that multiply a long long constant by a floating point constant to int64_t. This avoids the runtime conversion of the the other operand in a set of comparisons from int64_t to floating point and doing the comparisions in floating point. Suggested by: lidl Submitted by: Rasool Al-Saadi MFC after: 2 weeks (with r300779) Compilers are still permitted to (and perhaps even required to) evaluate FP constant expressions at runtime (to get rounding and/or exception flags right). They probably don't in practice, but it is unclear what happens for -O0 and the rules for rounding are too hard to understand. Modified: head/sys/netpfil/ipfw/dn_aqm_pie.c == --- head/sys/netpfil/ipfw/dn_aqm_pie.c Sun May 29 07:14:51 2016 (r300948) +++ head/sys/netpfil/ipfw/dn_aqm_pie.c Sun May 29 07:23:56 2016 (r300949) @@ -244,17 +244,17 @@ calculate_drop_prob(void *x) p *= (PIE_MAX_PROB << 12) / AQM_TIME_1S; /* auto-tune drop probability */ - if (prob< PIE_MAX_PROB * 0.01) + if (prob < (int64_t)(PIE_MAX_PROB * 0.01)) p >>= 11 + PIE_FIX_POINT_BITS+12; + else if (prob < (int64_t)(PIE_MAX_PROB * 0.1)) p >>= 9 + PIE_FIX_POINT_BITS+12; Why not just divide by integer powers of 10? This might not give a suitably monotonic/continuous scaling at the endpoints, but it is unclear if the FP gives that either even if we are more careful with the rounding mode. A table of endpoints could be used to get precise control. Then FP can be used more safely, since it is clear that constants in tables must be evaluated at compile time. ... Similarly for all cases. Bruce ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300950 - in head/sys: conf modules/dummynet
Author: truckman Date: Sun May 29 07:29:35 2016 New Revision: 300950 URL: https://svnweb.freebsd.org/changeset/base/300950 Log: Now that PIE is free of runtime floating point, revert r300853 to reconnect PIE to the build. Modified: head/sys/conf/files head/sys/modules/dummynet/Makefile Modified: head/sys/conf/files == --- head/sys/conf/files Sun May 29 07:23:56 2016(r300949) +++ head/sys/conf/files Sun May 29 07:29:35 2016(r300950) @@ -3824,9 +3824,11 @@ netnatm/natm.c optional natm netnatm/natm_pcb.c optional natm netnatm/natm_proto.c optional natm netpfil/ipfw/dn_aqm_codel.coptional inet dummynet +netpfil/ipfw/dn_aqm_pie.c optional inet dummynet netpfil/ipfw/dn_heap.c optional inet dummynet netpfil/ipfw/dn_sched_fifo.c optional inet dummynet netpfil/ipfw/dn_sched_fq_codel.c optional inet dummynet +netpfil/ipfw/dn_sched_fq_pie.c optional inet dummynet netpfil/ipfw/dn_sched_prio.c optional inet dummynet netpfil/ipfw/dn_sched_qfq.coptional inet dummynet netpfil/ipfw/dn_sched_rr.c optional inet dummynet Modified: head/sys/modules/dummynet/Makefile == --- head/sys/modules/dummynet/Makefile Sun May 29 07:23:56 2016 (r300949) +++ head/sys/modules/dummynet/Makefile Sun May 29 07:29:35 2016 (r300950) @@ -4,9 +4,9 @@ KMOD= dummynet SRCS= ip_dummynet.c SRCS+= ip_dn_glue.c ip_dn_io.c -SRCS+= dn_aqm_codel.c +SRCS+= dn_aqm_codel.c dn_aqm_pie.c SRCS+= dn_heap.c dn_sched_fifo.c dn_sched_qfq.c dn_sched_rr.c dn_sched_wf2q.c -SRCS+= dn_sched_prio.c dn_sched_fq_codel.c +SRCS+= dn_sched_prio.c dn_sched_fq_codel.c dn_sched_fq_pie.c SRCS+= opt_inet6.h .include ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300943 - in head: . lib/libc++ lib/libcxxrt share/mk
Author: bdrewery Date: Sun May 29 06:20:15 2016 New Revision: 300943 URL: https://svnweb.freebsd.org/changeset/base/300943 Log: GCC External: Revert r300886, r300904, r300917, r300918 The fix in r300873 is mostly enough. A fix for lib32 will be committed.separately. Modified: head/Makefile.inc1 head/Makefile.libcompat head/lib/libc++/Makefile head/lib/libcxxrt/Makefile head/share/mk/bsd.compiler.mk head/share/mk/bsd.sys.mk Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Sun May 29 06:01:18 2016(r300942) +++ head/Makefile.inc1 Sun May 29 06:20:15 2016(r300943) @@ -527,7 +527,13 @@ TARGET_ABI=gnueabihf TARGET_ABI=gnueabi .endif .endif -.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == "clang" +.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc +# GCC requires -isystem and -L when using a cross-compiler. +XCFLAGS+= -isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib +# Force using libc++ for external GCC. +XCXXFLAGS+=-isystem ${WORLDTMP}/usr/include/c++/v1 -std=c++11 \ + -nostdinc++ -L${WORLDTMP}/../lib/libc++ +.else TARGET_ABI?= unknown TARGET_TRIPLE?=${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0 XCFLAGS+= -target ${TARGET_TRIPLE} Modified: head/Makefile.libcompat == --- head/Makefile.libcompat Sun May 29 06:01:18 2016(r300942) +++ head/Makefile.libcompat Sun May 29 06:20:15 2016(r300943) @@ -17,7 +17,7 @@ LIB32CPUFLAGS=-march=${TARGET_CPUTYPE} .endif LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH=i386 \ MACHINE_CPU="i686 mmx sse sse2" -LIB32WMAKEENV+=\ +LIB32WMAKEFLAGS= \ AS="${XAS} --32" \ LD="${XLD} -m elf_i386_fbsd -Y P,${LIBCOMPATTMP}/usr/lib32" \ OBJCOPY="${XOBJCOPY}" @@ -29,7 +29,7 @@ LIB32CPUFLAGS=-mcpu=powerpc LIB32CPUFLAGS= -mcpu=${TARGET_CPUTYPE} .endif LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc -LIB32WMAKEENV+=\ +LIB32WMAKEFLAGS= \ LD="${XLD} -m elf32ppc_fbsd" \ OBJCOPY="${XOBJCOPY}" .endif @@ -72,6 +72,13 @@ LIBCOMPATCFLAGS+=${LIBCOMPATCPUFLAGS} \ # -B is needed to find /usr/lib32/crti.o for GCC and /usr/libsoft/crti.o for # Clang/GCC. LIBCOMPATCFLAGS+= -B${LIBCOMPATTMP}/usr/lib${libcompat} +.if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc +# GCC requires -isystem when using a cross-compiler. +LIBCOMPATCFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include +# Force using libc++ for external GCC. +LIBCOMPATCXXFLAGS+=-isystem ${LIBCOMPATTMP}/usr/include/c++/v1 -std=c++11 \ + -nostdinc++ -L${LIBCOMPAT_OBJTREE}${.CURDIR}/lib/libc++ +.endif # Yes, the flags are redundant. LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${LIBCOMPAT_OBJTREE} \ @@ -84,11 +91,9 @@ LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${L # Don't rebuild build-tools targets during normal build. LIBCOMPATWMAKEENV+=BUILD_TOOLS_META=.NOMETA_CMP .endif -LIBCOMPATWMAKEENV+= \ - CC="${XCC} ${LIBCOMPATCFLAGS}" \ +LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \ CXX="${XCXX} ${LIBCOMPATCFLAGS} ${LIBCOMPATCXXFLAGS}" \ - CPP="${XCPP} ${LIBCOMPATCFLAGS}" -LIBCOMPATWMAKEFLAGS+= \ + CPP="${XCPP} ${LIBCOMPATCFLAGS}" \ DESTDIR=${LIBCOMPATTMP} \ -DNO_CPU_CFLAGS \ MK_CTF=no \ Modified: head/lib/libc++/Makefile == --- head/lib/libc++/MakefileSun May 29 06:01:18 2016(r300942) +++ head/lib/libc++/MakefileSun May 29 06:20:15 2016(r300943) @@ -63,7 +63,7 @@ cxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOME .endfor WARNS= 0 -CFLAGS+= -I${HDRDIR} -I${_LIBCXXRTDIR} -nostdinc++ -nostdlib -DLIBCXXRT +CFLAGS+= -isystem ${HDRDIR} -isystem ${_LIBCXXRTDIR} -nostdinc++ -nostdlib -DLIBCXXRT .if empty(CXXFLAGS:M-std=*) CXXFLAGS+= -std=c++11 .endif Modified: head/lib/libcxxrt/Makefile == --- head/lib/libcxxrt/Makefile Sun May 29 06:01:18 2016(r300942) +++ head/lib/libcxxrt/Makefile Sun May 29 06:20:15 2016(r300943) @@ -21,7 +21,7 @@ SRCS+=libelftc_dem_gnu3.c\ guard.cc WARNS= 0 -CFLAGS+= -I${SRCDIR} -nostdinc++ +CFLAGS+= -isystem ${SRCDIR} -nostdinc++ .if empty(CXXFLAGS:M-std=*) CXXFLAGS+= -std=c++11 .endif Modified: head/share/mk/bsd.compiler.mk == --- head/share/mk/bsd.compiler.mk Sun May 29 06:01:18 2016 (r300942) +++ head/share/mk/bsd.compiler.mk Sun May 29 06:20:15 2016 (r300943) @@ -108,10
svn commit: r300945 - head/usr.sbin/rpcbind
Author: ngie Date: Sun May 29 06:29:22 2016 New Revision: 300945 URL: https://svnweb.freebsd.org/changeset/base/300945 Log: Remove unnecessary caller_uaddr != NULL test before calling free on it MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Modified: head/usr.sbin/rpcbind/util.c Modified: head/usr.sbin/rpcbind/util.c == --- head/usr.sbin/rpcbind/util.cSun May 29 06:20:36 2016 (r300944) +++ head/usr.sbin/rpcbind/util.cSun May 29 06:29:22 2016 (r300945) @@ -293,8 +293,7 @@ found: ret = taddr2uaddr(nconf, &tbuf); freeit: - if (caller_uaddr != NULL) - free(caller_uaddr); + free(caller_uaddr); if (hint_nbp != NULL) { free(hint_nbp->buf); free(hint_nbp); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300940 - head/tools/build/mk
Author: ngie Date: Sun May 29 04:56:48 2016 New Revision: 300940 URL: https://svnweb.freebsd.org/changeset/base/300940 Log: Remove yacc and the yacc tests if MK_TOOLCHAIN == no yacc's install is conditional based on MK_TOOLCHAIN != no MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/tools/build/mk/OptionalObsoleteFiles.inc == --- head/tools/build/mk/OptionalObsoleteFiles.inc Sun May 29 04:50:49 2016(r300939) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Sun May 29 04:56:48 2016(r300940) @@ -8009,6 +8009,7 @@ OLD_FILES+=usr/share/man/man1/ul.1.gz .if ${MK_TOOLCHAIN} == no OLD_FILES+=usr/bin/addr2line OLD_FILES+=usr/bin/as +OLD_FILES+=usr/bin/byacc OLD_FILES+=usr/bin/cc OLD_FILES+=usr/bin/c88 OLD_FILES+=usr/bin/c++ @@ -8020,6 +8021,7 @@ OLD_FILES+=usr/bin/readelf OLD_FILES+=usr/bin/size OLD_FILES+=usr/bin/strings OLD_FILES+=usr/bin/strip +OLD_FILES+=usr/bin/yacc OLD_FILES+=usr/share/man/man1/addr2line.1.gz OLD_FILES+=usr/share/man/man1/c++filt.1.gz OLD_FILES+=usr/share/man/man1/nm.1.gz @@ -8031,6 +8033,314 @@ OLD_FILES+=usr/share/man/man1/strip.1.gz OLD_FILES+=usr/bin/objcopy OLD_FILES+=usr/share/man/man1/objcopy.1.gz .endif +OLD_FILES+=usr/tests/usr.bin/yacc/Kyuafile +OLD_FILES+=usr/tests/usr.bin/yacc/btyacc_calc1.y +OLD_FILES+=usr/tests/usr.bin/yacc/btyacc_demo.y +OLD_FILES+=usr/tests/usr.bin/yacc/calc.y +OLD_FILES+=usr/tests/usr.bin/yacc/calc1.y +OLD_FILES+=usr/tests/usr.bin/yacc/calc2.y +OLD_FILES+=usr/tests/usr.bin/yacc/calc3.y +OLD_FILES+=usr/tests/usr.bin/yacc/code_calc.y +OLD_FILES+=usr/tests/usr.bin/yacc/code_debug.y +OLD_FILES+=usr/tests/usr.bin/yacc/code_error.y +OLD_FILES+=usr/tests/usr.bin/yacc/empty.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_inherit1.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_inherit2.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_inherit3.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_inherit4.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_inherit5.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax1.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax10.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax11.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax12.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax13.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax14.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax15.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax16.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax17.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax18.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax19.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax2.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax20.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax21.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax22.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax23.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax24.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax25.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax26.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax27.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax3.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax4.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax5.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax6.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax7.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax7a.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax7b.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax8.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax8a.y +OLD_FILES+=usr/tests/usr.bin/yacc/err_syntax9.y +OLD_FILES+=usr/tests/usr.bin/yacc/error.y +OLD_FILES+=usr/tests/usr.bin/yacc/grammar.y +OLD_FILES+=usr/tests/usr.bin/yacc/inherit0.y +OLD_FILES+=usr/tests/usr.bin/yacc/inherit1.y +OLD_FILES+=usr/tests/usr.bin/yacc/inherit2.y +OLD_FILES+=usr/tests/usr.bin/yacc/ok_syntax1.y +OLD_FILES+=usr/tests/usr.bin/yacc/pure_calc.y +OLD_FILES+=usr/tests/usr.bin/yacc/pure_error.y +OLD_FILES+=usr/tests/usr.bin/yacc/quote_calc.y +OLD_FILES+=usr/tests/usr.bin/yacc/quote_calc2.y +OLD_FILES+=usr/tests/usr.bin/yacc/quote_calc3.y +OLD_FILES+=usr/tests/usr.bin/yacc/quote_calc4.y +OLD_FILES+=usr/tests/usr.bin/yacc/run_test +OLD_FILES+=usr/tests/usr.bin/yacc/varsyntax_calc1.y +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/big_b.error +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/big_b.output +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/big_l.error +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/big_l.output +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/calc.error +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/calc.output +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/calc.tab.c +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/calc.tab.h +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/calc1.error +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/calc1.output +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/calc1.tab.c +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/calc1.tab.h +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/calc2.error +OLD_FILES+=usr/tests/usr.bin/yacc/yacc/calc2.output
svn commit: r300942 - head/usr.sbin/rpcbind
Author: ngie Date: Sun May 29 06:01:18 2016 New Revision: 300942 URL: https://svnweb.freebsd.org/changeset/base/300942 Log: Remove a useless if (x != NULL) check before calling free on allocated_uaddr MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Modified: head/usr.sbin/rpcbind/check_bound.c Modified: head/usr.sbin/rpcbind/check_bound.c == --- head/usr.sbin/rpcbind/check_bound.c Sun May 29 05:55:21 2016 (r300941) +++ head/usr.sbin/rpcbind/check_bound.c Sun May 29 06:01:18 2016 (r300942) @@ -219,8 +219,7 @@ mergeaddr(SVCXPRT *xprt, char *netid, ch fprintf(stderr, "mergeaddr: uaddr = %s, merged uaddr = %s\n", uaddr, m_uaddr); #endif - if (allocated_uaddr != NULL) - free(allocated_uaddr); + free(allocated_uaddr); return (m_uaddr); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300939 - head/bin/ls/tests
Author: ngie Date: Sun May 29 04:50:49 2016 New Revision: 300939 URL: https://svnweb.freebsd.org/changeset/base/300939 Log: Use require.progs with bc instead of require.files with /usr/bin/bc This will make things more flexible if the program path changes in the future, and the test in and of itself doesn't call /usr/bin/bc -- it just calls bc MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/bin/ls/tests/ls_tests.sh Modified: head/bin/ls/tests/ls_tests.sh == --- head/bin/ls/tests/ls_tests.sh Sun May 29 04:47:10 2016 (r300938) +++ head/bin/ls/tests/ls_tests.sh Sun May 29 04:50:49 2016 (r300939) @@ -535,7 +535,7 @@ atf_test_case h_flag h_flag_head() { atf_set "descr" "Verify that -h prints out the humanized units for file sizes with ls -l" - atf_set "require.files" "/usr/bin/bc" + atf_set "require.progs" "bc" } h_flag_body() ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300938 - head/tools/build/mk
Author: ngie Date: Sun May 29 04:47:10 2016 New Revision: 300938 URL: https://svnweb.freebsd.org/changeset/base/300938 Log: Remove the sa(8) tests if MK_ACCT == no when "make delete-old" is run sa(8) is conditionally installed based on MK_ACCT != no today MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/tools/build/mk/OptionalObsoleteFiles.inc == --- head/tools/build/mk/OptionalObsoleteFiles.inc Sun May 29 04:43:24 2016(r300937) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Sun May 29 04:47:10 2016(r300938) @@ -12,6 +12,33 @@ OLD_FILES+=usr/sbin/accton OLD_FILES+=usr/sbin/sa OLD_FILES+=usr/share/man/man8/accton.8.gz OLD_FILES+=usr/share/man/man8/sa.8.gz +OLD_FILES+=usr/tests/usr.sbin/sa/Kyuafile +OLD_FILES+=usr/tests/usr.sbin/sa/legacy_test +OLD_FILES+=usr/tests/usr.sbin/sa/v1-amd64-sav.in +OLD_FILES+=usr/tests/usr.sbin/sa/v1-amd64-sav.out +OLD_FILES+=usr/tests/usr.sbin/sa/v1-amd64-u.out +OLD_FILES+=usr/tests/usr.sbin/sa/v1-amd64-usr.in +OLD_FILES+=usr/tests/usr.sbin/sa/v1-amd64-usr.out +OLD_FILES+=usr/tests/usr.sbin/sa/v1-i386-sav.in +OLD_FILES+=usr/tests/usr.sbin/sa/v1-i386-sav.out +OLD_FILES+=usr/tests/usr.sbin/sa/v1-i386-u.out +OLD_FILES+=usr/tests/usr.sbin/sa/v1-i386-usr.in +OLD_FILES+=usr/tests/usr.sbin/sa/v1-i386-usr.out +OLD_FILES+=usr/tests/usr.sbin/sa/v1-sparc64-sav.in +OLD_FILES+=usr/tests/usr.sbin/sa/v1-sparc64-sav.out +OLD_FILES+=usr/tests/usr.sbin/sa/v1-sparc64-u.out +OLD_FILES+=usr/tests/usr.sbin/sa/v1-sparc64-usr.in +OLD_FILES+=usr/tests/usr.sbin/sa/v1-sparc64-usr.out +OLD_FILES+=usr/tests/usr.sbin/sa/v2-amd64-sav.in +OLD_FILES+=usr/tests/usr.sbin/sa/v2-amd64-u.out +OLD_FILES+=usr/tests/usr.sbin/sa/v2-amd64-usr.in +OLD_FILES+=usr/tests/usr.sbin/sa/v2-i386-sav.in +OLD_FILES+=usr/tests/usr.sbin/sa/v2-i386-u.out +OLD_FILES+=usr/tests/usr.sbin/sa/v2-i386-usr.in +OLD_FILES+=usr/tests/usr.sbin/sa/v2-sparc64-sav.in +OLD_FILES+=usr/tests/usr.sbin/sa/v2-sparc64-u.out +OLD_FILES+=usr/tests/usr.sbin/sa/v2-sparc64-usr.in +OLD_FILES+=usr/tests/usr.sbin/sa .endif .if ${MK_ACPI} == no ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300941 - head/usr.sbin/rpcbind
Author: ngie Date: Sun May 29 05:55:21 2016 New Revision: 300941 URL: https://svnweb.freebsd.org/changeset/base/300941 Log: Don't leak res in network_init(..) Call freeaddrinfo on it after it's been used MFC after: 1 week Reported by: Coverity CID: 1225050 Sponsored by: EMC / Isilon Storage Division Modified: head/usr.sbin/rpcbind/util.c Modified: head/usr.sbin/rpcbind/util.c == --- head/usr.sbin/rpcbind/util.cSun May 29 04:56:48 2016 (r300940) +++ head/usr.sbin/rpcbind/util.cSun May 29 05:55:21 2016 (r300941) @@ -396,6 +396,7 @@ network_init(void) freeifaddrs(ifp); #endif + freeaddrinfo(res); /* close(s); */ } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300935 - head/usr.sbin/rpc.statd
Author: ngie Date: Sun May 29 04:18:47 2016 New Revision: 300935 URL: https://svnweb.freebsd.org/changeset/base/300935 Log: Mark out_of_mem(..) and usage(..) with __dead2 as they both directly call exit as a hint to static analysis tools MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/usr.sbin/rpc.statd/statd.c Modified: head/usr.sbin/rpc.statd/statd.c == --- head/usr.sbin/rpc.statd/statd.c Sun May 29 04:02:02 2016 (r300934) +++ head/usr.sbin/rpc.statd/statd.c Sun May 29 04:18:47 2016 (r300935) @@ -72,9 +72,9 @@ static intcreate_service(struct netconf static voidcomplete_service(struct netconfig *nconf, char *port_str); static voidclearout_service(void); static void handle_sigchld(int sig); -void out_of_mem(void); +void out_of_mem(void) __dead2; -static void usage(void); +static void usage(void) __dead2; int main(int argc, char **argv) @@ -613,7 +613,7 @@ clearout_service(void) } static void -usage() +usage(void) { fprintf(stderr, "usage: rpc.statd [-d] [-h ] [-p ]\n"); exit(1); @@ -647,7 +647,7 @@ static void handle_sigchld(int sig __unu * Out of memory, fatal */ void -out_of_mem() +out_of_mem(void) { syslog(LOG_ERR, "out of memory"); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300932 - head/usr.sbin/rpcbind
Author: ngie Date: Sun May 29 03:42:50 2016 New Revision: 300932 URL: https://svnweb.freebsd.org/changeset/base/300932 Log: Catch malloc(3) errors and socket(2) errors - malloc failing will result in a delayed segfault - socket failing will result in delayed failures with setsockopt Exit in the event that either of these high-level conditions are met. Reported by: Coverity CID: 976288, 976321, 976858 Sponsored by: EMC / Isilon Storage Division Modified: head/usr.sbin/rpcbind/util.c Modified: head/usr.sbin/rpcbind/util.c == --- head/usr.sbin/rpcbind/util.cSun May 29 02:59:03 2016 (r300931) +++ head/usr.sbin/rpcbind/util.cSun May 29 03:42:50 2016 (r300932) @@ -336,6 +336,7 @@ network_init(void) if (local_in4 == NULL) { if (debugging) fprintf(stderr, "can't alloc local ip4 addr\n"); + exit(1); } memcpy(local_in4, res->ai_addr, sizeof *local_in4); } @@ -351,6 +352,7 @@ network_init(void) if (local_in6 == NULL) { if (debugging) fprintf(stderr, "can't alloc local ip6 addr\n"); + exit(1); } memcpy(local_in6, res->ai_addr, sizeof *local_in6); } @@ -365,6 +367,11 @@ network_init(void) inet_pton(AF_INET6, RPCB_MULTICAST_ADDR, &mreq6.ipv6mr_multiaddr); s = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP); + if (s == -1) { + if (debugging) + fprintf(stderr, "couldn't create ip6 socket"); + exit(1); + } /* * Loop through all interfaces. For each IPv6 multicast-capable ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300934 - head/usr.sbin/rpcbind
Author: ngie Date: Sun May 29 04:02:02 2016 New Revision: 300934 URL: https://svnweb.freebsd.org/changeset/base/300934 Log: Plug leak with ifp by calling freeifaddrs after calling getifaddrs MFC after: 1 week Obtained from: NetBSD v1.18 Sponsored by: EMC / Isilon Storage Division Modified: head/usr.sbin/rpcbind/util.c Modified: head/usr.sbin/rpcbind/util.c == --- head/usr.sbin/rpcbind/util.cSun May 29 03:44:37 2016 (r300933) +++ head/usr.sbin/rpcbind/util.cSun May 29 04:02:02 2016 (r300934) @@ -393,6 +393,7 @@ network_init(void) if (debugging) perror("setsockopt v6 multicast"); } + freeifaddrs(ifp); #endif /* close(s); */ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300922 - head/etc/mtree
> On May 28, 2016, at 18:45, Bryan Drewery wrote: > > On 5/28/16 6:39 PM, Ngie Cooper (yaneurabeya) wrote: >> >>> On May 28, 2016, at 18:38, Garrett Cooper wrote: >>> >>> Author: ngie >>> Date: Sun May 29 01:38:12 2016 >>> New Revision: 300922 >>> URL: https://svnweb.freebsd.org/changeset/base/300922 >>> >>> Log: >>> Fix "make installworld" with MK_CDDL == no after r300906 by >> >> This should read, "!= no" >_>.. > > Pointyhat to: ngie For the commit message, yeah... signature.asc Description: Message signed with OpenPGP using GPGMail
Re: svn commit: r300922 - head/etc/mtree
On 5/28/16 6:39 PM, Ngie Cooper (yaneurabeya) wrote: > >> On May 28, 2016, at 18:38, Garrett Cooper wrote: >> >> Author: ngie >> Date: Sun May 29 01:38:12 2016 >> New Revision: 300922 >> URL: https://svnweb.freebsd.org/changeset/base/300922 >> >> Log: >> Fix "make installworld" with MK_CDDL == no after r300906 by > > This should read, "!= no" >_>.. > Pointyhat to: ngie -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r300926 - head
Author: bdrewery Date: Sun May 29 01:45:15 2016 New Revision: 300926 URL: https://svnweb.freebsd.org/changeset/base/300926 Log: Libcompat: Set build tools in environment rather than make overrides. This allows the CXX hack in r300917 for external GCC to work for the lib32 build. It is also the same pattern as the native build uses by adding the tools into CROSSENV for external toolchain, rather than make overrides. Sponsored by: EMC / Isilon Storage Division Modified: head/Makefile.libcompat Modified: head/Makefile.libcompat == --- head/Makefile.libcompat Sun May 29 01:43:28 2016(r300925) +++ head/Makefile.libcompat Sun May 29 01:45:15 2016(r300926) @@ -17,7 +17,7 @@ LIB32CPUFLAGS=-march=${TARGET_CPUTYPE} .endif LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH=i386 \ MACHINE_CPU="i686 mmx sse sse2" -LIB32WMAKEFLAGS= \ +LIB32WMAKEENV+=\ AS="${XAS} --32" \ LD="${XLD} -m elf_i386_fbsd -Y P,${LIBCOMPATTMP}/usr/lib32" \ OBJCOPY="${XOBJCOPY}" @@ -29,7 +29,7 @@ LIB32CPUFLAGS=-mcpu=powerpc LIB32CPUFLAGS= -mcpu=${TARGET_CPUTYPE} .endif LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc -LIB32WMAKEFLAGS= \ +LIB32WMAKEENV+=\ LD="${XLD} -m elf32ppc_fbsd" \ OBJCOPY="${XOBJCOPY}" .endif @@ -84,9 +84,11 @@ LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${L # Don't rebuild build-tools targets during normal build. LIBCOMPATWMAKEENV+=BUILD_TOOLS_META=.NOMETA_CMP .endif -LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \ +LIBCOMPATWMAKEENV+= \ + CC="${XCC} ${LIBCOMPATCFLAGS}" \ CXX="${XCXX} ${LIBCOMPATCFLAGS} ${LIBCOMPATCXXFLAGS}" \ - CPP="${XCPP} ${LIBCOMPATCFLAGS}" \ + CPP="${XCPP} ${LIBCOMPATCFLAGS}" +LIBCOMPATWMAKEFLAGS+= \ DESTDIR=${LIBCOMPATTMP} \ -DNO_CPU_CFLAGS \ MK_CTF=no \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r300931 - head/etc/rc.d
> On May 28, 2016, at 19:59, Garrett Cooper wrote: > > Author: ngie > Date: Sun May 29 02:59:03 2016 > New Revision: 300931 > URL: https://svnweb.freebsd.org/changeset/base/300931 > > Log: > Make netif REQUIRE hostid > > As noted in the PR, if etc/rc.d/zvol is removed, netif will be run before > hostid, and the MAC address generated for any bridge devices will be > non-deterministic. Make the MAC address generated be deterministic for > bridge devices by explicitly REQUIRE'ing hostid. > > This fixes up the rest of the PR, inadvertently committed in r299844 > > MFC after: 1 week > PR: 195188 Reported by: Guy Yur signature.asc Description: Message signed with OpenPGP using GPGMail
svn commit: r300931 - head/etc/rc.d
Author: ngie Date: Sun May 29 02:59:03 2016 New Revision: 300931 URL: https://svnweb.freebsd.org/changeset/base/300931 Log: Make netif REQUIRE hostid As noted in the PR, if etc/rc.d/zvol is removed, netif will be run before hostid, and the MAC address generated for any bridge devices will be non-deterministic. Make the MAC address generated be deterministic for bridge devices by explicitly REQUIRE'ing hostid. This fixes up the rest of the PR, inadvertently committed in r299844 MFC after: 1 week PR: 195188 Sponsored by: EMC / Isilon Storage Division Modified: head/etc/rc.d/netif Modified: head/etc/rc.d/netif == --- head/etc/rc.d/netif Sun May 29 02:24:51 2016(r300930) +++ head/etc/rc.d/netif Sun May 29 02:59:03 2016(r300931) @@ -27,7 +27,7 @@ # PROVIDE: netif # REQUIRE: FILESYSTEMS iovctl serial sppp sysctl -# REQUIRE: ipfilter ipfs +# REQUIRE: hostid ipfilter ipfs # KEYWORD: nojailvnet . /etc/rc.subr ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r300923 - in vendor/Juniper/libxo/dist: . doc libxo tests/core tests/core/saved
Author: phil Date: Sun May 29 01:40:19 2016 New Revision: 300923 URL: https://svnweb.freebsd.org/changeset/base/300923 Log: Import libxo 0.6.2 Modified: vendor/Juniper/libxo/dist/configure.ac vendor/Juniper/libxo/dist/doc/libxo-manual.html vendor/Juniper/libxo/dist/doc/libxo.txt vendor/Juniper/libxo/dist/libxo/libxo.c vendor/Juniper/libxo/dist/libxo/xo_buf.h vendor/Juniper/libxo/dist/libxo/xo_encoder.c vendor/Juniper/libxo/dist/libxo/xo_format.5 vendor/Juniper/libxo/dist/tests/core/saved/test_03.E.out vendor/Juniper/libxo/dist/tests/core/saved/test_03.H.out vendor/Juniper/libxo/dist/tests/core/saved/test_03.HIPx.out vendor/Juniper/libxo/dist/tests/core/saved/test_03.HP.out vendor/Juniper/libxo/dist/tests/core/saved/test_03.J.out vendor/Juniper/libxo/dist/tests/core/saved/test_03.JP.out vendor/Juniper/libxo/dist/tests/core/saved/test_03.T.out vendor/Juniper/libxo/dist/tests/core/saved/test_03.X.out vendor/Juniper/libxo/dist/tests/core/saved/test_03.XP.out vendor/Juniper/libxo/dist/tests/core/test_03.c Modified: vendor/Juniper/libxo/dist/configure.ac == --- vendor/Juniper/libxo/dist/configure.ac Sun May 29 01:38:12 2016 (r300922) +++ vendor/Juniper/libxo/dist/configure.ac Sun May 29 01:40:19 2016 (r300923) @@ -12,7 +12,7 @@ # AC_PREREQ(2.2) -AC_INIT([libxo], [0.6.1], [p...@juniper.net]) +AC_INIT([libxo], [0.6.2], [p...@juniper.net]) AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability]) # Support silent build rules. Requires at least automake-1.11. Modified: vendor/Juniper/libxo/dist/doc/libxo-manual.html == --- vendor/Juniper/libxo/dist/doc/libxo-manual.html Sun May 29 01:38:12 2016(r300922) +++ vendor/Juniper/libxo/dist/doc/libxo-manual.html Sun May 29 01:40:19 2016(r300923) @@ -515,7 +515,7 @@ li.indline1 { } @top-right { - content: "April 2016"; + content: "May 2016"; } @top-center { @@ -22009,7 +22009,7 @@ jQuery(function ($) { -April 15, 2016 +May 28, 2016 libxo: The Easy Way to Generate text, XML, JSON, and HTML outputlibxo-manual @@ -22739,7 +22739,7 @@ jQuery(function ($) { make make test sudo make install -The following sections will walk thru each of these steps with additional details and options, but the above directions should be all that's needed. +The following sections will walk through each of these steps with additional details and options, but the above directions should be all that's needed. Section Contents: Section�1.1.2.1 @@ -23087,7 +23087,7 @@ jQuery(function ($) { xo_emit("{L:Free}{D::}{P: }{:free/%u} {U:Blocks}\n", free_blocks); When a role is not provided, the "value" role is used as the default. -Roles and modifiers can also use more verbose names, when preceeded by a comma: +Roles and modifiers can also use more verbose names, when preceded by a comma: EXAMPLE: xo_emit("{,label:Free}{,decoration::}{,padding: }" @@ -23444,7 +23444,7 @@ jQuery(function ($) { -Roles and modifiers can also use more verbose names, when preceeded by a comma. For example, the modifier string "Lwc" (or "L,white,colon") means the field has a label role (text that describes the next field) and should be followed by a colon ('c') and a space ('w'). The modifier string "Vkq" (or ":key,quote") means the field has a value role (the default role), that it is a key for the current instance, and that the value should be quoted when encoded for JSON. +Roles and modifiers can also use more verbose names, when preceded by a comma. For example, the modifier string "Lwc" (or "L,white,colon") means the field has a label role (text that describes the next field) and should be followed by a colon ('c') and a space ('w'). The modifier string "Vkq" (or ":key,quote") means the field has a value role (the default role), that it is a key for the current instance, and that the value should be quoted when encoded for JSON. Section Contents: Section�2.2.2.1 @@ -23688,7 +23688,7 @@ jQuery(function ($) { a '#' character, indicating the output value should be prefixed with '0x', typically to indicate a base 16 (hex) value. a minus sign ('‑'), indicating the output value should be padded on the right instead of the left. a leading zero ('0') indicating the output value should be padded on the left with zeroes instead of spaces (' '). -one or more digits ('0' - '9') indicating the minimum width of the argument. If the width in columns of the output value is less that the minumum width, the value will be padded to reach the minimum. +one or more digits ('0' - '9') indicating the minimum width of the argument. If the width in columns of the output value is less than the minimum width, the value wi
Re: svn commit: r300922 - head/etc/mtree
> On May 28, 2016, at 18:38, Garrett Cooper wrote: > > Author: ngie > Date: Sun May 29 01:38:12 2016 > New Revision: 300922 > URL: https://svnweb.freebsd.org/changeset/base/300922 > > Log: > Fix "make installworld" with MK_CDDL == no after r300906 by This should read, "!= no" >_>.. signature.asc Description: Message signed with OpenPGP using GPGMail
svn commit: r300949 - head/sys/netpfil/ipfw
Author: truckman Date: Sun May 29 07:23:56 2016 New Revision: 300949 URL: https://svnweb.freebsd.org/changeset/base/300949 Log: Cast some expressions that multiply a long long constant by a floating point constant to int64_t. This avoids the runtime conversion of the the other operand in a set of comparisons from int64_t to floating point and doing the comparisions in floating point. Suggested by: lidl Submitted by: Rasool Al-Saadi MFC after:2 weeks (with r300779) Modified: head/sys/netpfil/ipfw/dn_aqm_pie.c head/sys/netpfil/ipfw/dn_sched_fq_pie.c Modified: head/sys/netpfil/ipfw/dn_aqm_pie.c == --- head/sys/netpfil/ipfw/dn_aqm_pie.c Sun May 29 07:14:51 2016 (r300948) +++ head/sys/netpfil/ipfw/dn_aqm_pie.c Sun May 29 07:23:56 2016 (r300949) @@ -244,17 +244,17 @@ calculate_drop_prob(void *x) p *= (PIE_MAX_PROB << 12) / AQM_TIME_1S; /* auto-tune drop probability */ - if (prob< PIE_MAX_PROB * 0.01) + if (prob < (int64_t)(PIE_MAX_PROB * 0.01)) p >>= 11 + PIE_FIX_POINT_BITS+12; - else if (prob < PIE_MAX_PROB * 0.1) + else if (prob < (int64_t)(PIE_MAX_PROB * 0.1)) p >>= 9 + PIE_FIX_POINT_BITS+12; - else if (prob < PIE_MAX_PROB * 0.0001) + else if (prob < (int64_t)(PIE_MAX_PROB * 0.0001)) p >>= 7 + PIE_FIX_POINT_BITS+12; - else if (prob < PIE_MAX_PROB * 0.001) + else if (prob < (int64_t)(PIE_MAX_PROB * 0.001)) p >>= 5 + PIE_FIX_POINT_BITS+12; - elseif (prob < PIE_MAX_PROB * 0.01) + elseif (prob < (int64_t)(PIE_MAX_PROB * 0.01)) p >>= 3 + PIE_FIX_POINT_BITS+12; - else if (prob < PIE_MAX_PROB * 0.1) + else if (prob < (int64_t)(PIE_MAX_PROB * 0.1)) p >>= 1 + PIE_FIX_POINT_BITS+12; else p >>= PIE_FIX_POINT_BITS+12; Modified: head/sys/netpfil/ipfw/dn_sched_fq_pie.c == --- head/sys/netpfil/ipfw/dn_sched_fq_pie.c Sun May 29 07:14:51 2016 (r300948) +++ head/sys/netpfil/ipfw/dn_sched_fq_pie.c Sun May 29 07:23:56 2016 (r300949) @@ -407,17 +407,17 @@ fq_calculate_drop_prob(void *x) p *= (PIE_MAX_PROB << 12) / AQM_TIME_1S; /* auto-tune drop probability */ - if (prob< PIE_MAX_PROB * 0.01) + if (prob < (int64_t)(PIE_MAX_PROB * 0.01)) p >>= 11 + PIE_FIX_POINT_BITS+12; - else if (prob < PIE_MAX_PROB * 0.1) + else if (prob < (int64_t)(PIE_MAX_PROB * 0.1)) p >>= 9 + PIE_FIX_POINT_BITS+12; - else if (prob < PIE_MAX_PROB * 0.0001) + else if (prob < (int64_t)(PIE_MAX_PROB * 0.0001)) p >>= 7 + PIE_FIX_POINT_BITS+12; - else if (prob < PIE_MAX_PROB * 0.001) + else if (prob < (int64_t)(PIE_MAX_PROB * 0.001)) p >>= 5 + PIE_FIX_POINT_BITS+12; - elseif (prob < PIE_MAX_PROB * 0.01) + elseif (prob < (int64_t)(PIE_MAX_PROB * 0.01)) p >>= 3 + PIE_FIX_POINT_BITS+12; - else if (prob < PIE_MAX_PROB * 0.1) + else if (prob < (int64_t)(PIE_MAX_PROB * 0.1)) p >>= 1 + PIE_FIX_POINT_BITS+12; else p >>= PIE_FIX_POINT_BITS+12; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"