FreeBSD_HEAD_amd64_gcc - Build #1268 - Fixed:

Build information:
Full change log:
Full build log:

Change summaries:

300952 by ed:
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:

300951 by mmel:
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.

300950 by truckman:
Now that PIE is free of runtime floating point,  revert r300853 to
reconnect PIE to the build.

300949 by truckman:
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

Suggested by:   lidl
Submitted by:   Rasool Al-Saadi <>
MFC after:      2 weeks (with r300779)

300947 by ngie:
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

300945 by ngie:
Remove unnecessary caller_uaddr != NULL test before calling free on it

MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division

300944 by bdrewery:
Libcompat: Swap CXX/CFLAGS.

This is the same as done for the native build in r300770 to ensure that
the libc++ build reads from SYSROOT/usr/include/c++/v1 before reading
from SYSROOT/usr/include.

300943 by bdrewery:
GCC External: Revert r300886, r300904, r300917, r300918

The fix in r300873 is mostly enough.  A fix for lib32 will be

300942 by ngie:
Remove a useless if (x != NULL) check before calling free on allocated_uaddr

MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division

300941 by ngie:
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

300940 by ngie:
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

300939 by ngie:
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

300938 by ngie:
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

300937 by ngie:
Remove the etcupdate tests if MK_RCS == no when "make delete-old" is run

etcupdate is conditionally installed based on MK_RCS != no today

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division

300936 by ngie:
Remove the calendar tests if MK_CALENDAR == no when "make delete-old"
is run

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division

300935 by ngie:
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

300934 by ngie:
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

300933 by allanjude:
Add Documentation for missing ifconfig(8) flags

autoconf / -autoconf
deprecated / -deprecated

PR:             209822
Submitted by:   Sevan Janiyan <>
MFC after:      2 weeks

300932 by ngie:
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

300931 by ngie:
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

300927 by ngie:
Delete duplicate declaration for i40e_blink_phy_link_led(..)

It was already declared on line 90

Differential Revision:
Reported by: gcc
Reviewed by: sbruno
Sponsored by: EMC / Isilon Storage Division

300926 by bdrewery:
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

300925 by phil:
Submitted by:   phil
Reviewed by:    sjg (mentor)
Approved by:    sjg

300922 by ngie:
Fix "make installworld" with MK_CDDL == no after r300906 by
adding a missing entry for ${TESTSBASE}/cddl/sbin

X-MFC with: r300906
Pointyhat to: asomers
Reported by: Shawn Webb <>
Sponsored by: EMC / Isilon Storage Division

300921 by allanjude:
Import the skein hashing algorithm, based on the threefish block cipher

Connect it to userland (libmd, libcrypt, sbin/md5) and kernel (crypto.ko)

Support for skein as a ZFS checksum algorithm was introduced in r289422
but is disconnected because FreeBSD lacked a Skein implementation.

A further commit will enable it in ZFS.

Reviewed by:    cem
Sponsored by:   ScaleEngine Inc.
Differential Revision:

300920 by bdrewery:
Fix with external GCC after r300886.

Somehow the /usr/include path got lost in this particular case.
Just pass it along from --sysroot as was already done for

Sponsored by:   EMC / Isilon Storage Division

300919 by bdrewery:
Avoid more literal-suffix errors with C++11

300918 by bdrewery:
External GCC: Ensure our libstdc++ symlink to libc++ is found.

Similar to r300917, the search path for our symlink hack must come
before the =/usr/lib search path.

This fixes the atf-check build after r300886.

300917 by bdrewery:
GCC XCC -isystem hack: Ensure CXX search =/usr/include/c++1/v1 first.

The C++ header files must be searched before /usr/include.

The original code in Makefile.inc1 did this before the change in r297271 to
use -isystem.  The libc++ import in r300770 fixed the bug introduced in
r297271 by swapping XCFLAGS and XCXXFLAGS ordering in CROSSENV.

Moving the code from Makefile.inc1 to in r300886 also made it
more difficult to control the order of the flags.  CXXFLAGS is based on
CFLAGS, so any additions to it will come after CFLAGS.  The CROSSENV
code from Makefile.inc1 was such that it was ensured the CXXFLAGS came
first by setting them directly in CXX.  Using CXXFLAGS+=-I would work
here, but instead continue to use -isystem by adding it to CXX so it
comes before CFLAGS.

Reported by:    dim

300915 by bdrewery:
Avoid literal-suffix error due to missing space.

300914 by bapt:
Readd week day to default dates

Requested by:   many

300913 by bapt:
Add a hack to readd the day of weeks in default date formats

300912 by phil:
Undo meaningless local changes to libxo so we're in sync with the github repo.

Submitted by:   phil
Reviewed by:    sjg (mentor)
Approved by:    sjg

300911 by avos:
net80211: replace m_getcl/m_gethdr pair with m_get2 in ieee80211_fragment()

- Switch to m_get2() for mbuf allocation instead of manual mbuf size
- Reuse MIN() macro for mbuf size selection.

300910 by avos:
net80211: fix use-after-free in frame defragmentation procedure.

- Assign frame sequence/fragment number before frame concatenation;
otherwise, frame header pointer (wh) will be invalid.
- Move this code block upper and eliminate duplicate 'lwh = mtod()'

Tested with wpi(4) (transmitter) (STA mode) and urtwn(4) (receiver)
(HOSTAP mode).

300906 by asomers:
zfsd(8), the ZFS fault management daemon

Add zfsd, which deals with hard drive faults in ZFS pools. It manages
hotspares and replements in drive slots that publish physical paths.

        Add zfsd(8) and its unit tests

        Add zfsd to the build

        A C++ library that helps devd clients process events

        Add libdevdctl to the build. It's a private library, unusable by
        out-of-tree software.

        By default, set zfsd_enable to NO

        Add a directory for libdevdctl's include files

        Add a directory for zfsd's unit tests

        Add /var/db/zfsd/cases, where zfsd stores case files while it's shut

        Add zfsd's rc script

        Fix the resource.fs.zfs.statechange message. It had a number of

        It was only being emitted on a transition to the HEALTHY state.
        That made it impossible for zfsd to take actions based on drives
        getting sicker.

        It compared the new state to vdev_prevstate, which is the state that
        the vdev had the last time it was opened.  That doesn't make sense,
        because a vdev can change state multiple times without being

        vdev_set_state contains logic that will change the device's new
        state based on various conditions.  However, the statechange event
        was being posted _before_ that logic took effect.  Now it's being
        posted after.

Submitted by:   gibbs, asomers, mav, allanjude
Reviewed by:    mav, delphij
Relnotes:       yes
Sponsored by:   Spectra Logic Corp, iX Systems
Differential Revision:

300905 by bdrewery:
Use a relative symlink for proper --sysroot support.

Sponsored by:   EMC / Isilon Storage Division

300904 by bdrewery:
Always export X_* vars.

This fixes CROSS_TOOLCHAIN builds after r300886 since it
relies on X_COMPILER_TYPE being set.

The X_* vars will only represent the external compiler
being used.

Sponsored by:   EMC / Isilon Storage Division

300903 by allanjude:
Implement SHA-512 truncated (224 and 256 bits)

This implements SHA-512/256, which generates a 256 bit hash by
calculating the SHA-512 then truncating the result. A different initial
value is used, making the result different from the first 256 bits of
the SHA-512 of the same input. SHA-512 is ~50% faster than SHA-256 on
64bit platforms, so the result is a faster 256 bit hash.

The main goal of this implementation is to enable support for this
faster hashing algorithm in ZFS. The feature was introduced into ZFS
in r289422, but is disconnected because SHA-512/256 support was missing.
A further commit will enable it in ZFS.

This is the follow on to r292782

Reviewed by:    cem
Sponsored by:   ScaleEngine Inc.
Differential Revision:

300902 by andrew:
Don't panic in hwpmc when stopping sampling.

When hwpmc stops sampling it will set the pm_state to something other
than PMC_STATE_RUNNING. This means the following sequence can happen:

CPU 0: Enter the interrupt handler
CPU 0: Set the thread TDP_CALLCHAIN pflag
CPU 1: Stop sampling
CPU 0: Call pmc_process_samples, sampling is stopped so clears ps_nsamples
CPU 0: Finishes interrupt processing with the TDP_CALLCHAIN flag set
CPU 0: Call pmc_capture_user_callchain to capture the user call chain
CPU 0: Find all the pmc sample are free so no call chains need to be captured
CPU 0: KASSERT because of this

This fixes the issue by checking if any of the samples have been stopped
and including this in te KASSERT.

PR:             204273
Reviewed by:    bz, gnn
Obtained from:  ABT Systems Ltd
Sponsored by:   The FreeBSD Foundation
Differential Revision:

_______________________________________________ mailing list
To unsubscribe, send any mail to ""

Reply via email to