Replace <sys/mount.h> with <limits.h> The former is a portability
hassle, but it turns out the only thing we need from it is PATH_MAX
which we can get directly from limits.h.
Move atomic_load_sint() under #ifdef _KERNEL in uvmexp.h.
This new inline function should not pollute userland name space.
ports/devel/nspr did not compile due to inline in ansi mode.
reported and fix confirmed sthen@
Optimise the out filters rule evaluation by being more cache friendly.
Similar to filter_sets convert the filter_rule tail queue into an array
of smaller filter_match elements. On top of this deduplicate these rules
via hash table and refcounts. As a result the data is now more cache
friendly and the CPU spends less time waiting for data.
The initial loading time of my test IXP RS setup drops from 25min down
to around 18min. So this change produces a significant speedup on large
BGP setups.
OK tb@
Update CMake to 4.1.2
Major update from 3.31.8 to 4.1.2.
CMake 4.0 introduces a breaking change: compatibility with versions older than
3.5 has been removed. Projects calling cmake_minimum_required() or
cmake_policy() with versions < 3.5 now error out.
To maintain compatibility with existing ports during the transition, the cmake
module now provides MODCMAKE_POLICY_VERSION_OVERRIDE (idea from sthen@)
support:
- MODCMAKE_POLICY_VERSION_OVERRIDE ?= No
- MODCMAKE_POLICY_VERSION_OVERRIDE_VER ?= 3.5
When MODCMAKE_POLICY_VERSION_OVERRIDE is set to "yes", CMake is instructed to
accept policy versions down to the specified minimum (default 3.5) via
-DCMAKE_POLICY_VERSION_MINIMUM. This allows older ports to build while
acknowledging they may use deprecated features.
[5 lines not shown]