summaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2022-07-18Event lists rewritten to a single linked listMaria Matejka
In multithreaded environment, we need to pass messages between workers. This is done by queuing events to their respective queues. The double-linked list is not really useful for that as it needs locking everywhere. This commit rewrites the event subsystem to use a single-linked list where events are enqueued by a single atomic instruction and the queue is processed after atomically moving the whole queue aside.
2022-07-18Merge commit 'a4451535' into thread-nextMaria Matejka
2022-05-04Enforcing certain data structure explicit paddings.Maria Matejka
Implicit paddings have undefined values in C. We want the eattr blocks to be comparable by memcmp and eattrs settable directly by structrure literals. This check ensures that all paddings in eattr and bval are explicit and therefore zeroed in all literals.
2021-11-22POSIX threads and thread-local storage is needed for concurrent executionMaria Matejka
2021-06-06sysdep: Add wrapper to get random bytes - updateOndrej Zajicek (work)
Simplify the code and fix an issue with getentropy() return value.
2021-06-06sysdep: Add wrapper to get random bytesToke Høiland-Jørgensen
Add a wrapper function in sysdep to get random bytes, and required checks in configure.ac to select how to do it. The configure script tries, in order, getrandom(), getentropy() and reading from /dev/urandom.
2021-03-25Slab: head now uses bitmask for used/free nodes info instead of listsMaria Matejka
From now, there are no auxiliary pointers stored in the free slab nodes. This led to strange debugging problems if use-after-free happened in slab-allocated structures, especially if the structure's first member is a next pointer. This also reduces the memory needed by 1 pointer per allocated object. OTOH, we now rely on pages being aligned to their size's multiple, which is quite common anyway.
2020-05-01Static scanner and expensive debugging setup fixMaria Matejka
2020-05-01Expensive check declarationMaria Matejka
Intended to be run at every operation with complex data structures to check their consistency and validity.
2020-02-04RPKI: Allow build without libSSHMaria Matejka
2019-10-09Build: Pass -g to cc called as linker to explicitly keep debug infoMaria Matejka
2019-10-09LTO: debug info also kept with the final binaryMaria Matejka
2019-08-06Configure: CFLAGS updateOndrej Zajicek (work)
- add -flto only to default CFLAGS - add -fno-strict-aliasing, -fno-strict-overflow always - remove -Wno-implicit-fallthrough
2019-08-01Show LDFLAGS in configurev2.0.5Ondrej Zajicek
2019-08-01Enable more threads for fltoOndrej Zajicek
2019-08-01Fix output of CFLAGS in configure scriptOndrej Zajicek
2019-05-23Filters: If somebody doesn't like _Thread_local, don't fail for now, just be ↵Jan Maria Matejka
a little slower. When the parallel execution comes into place, we'll likely enforce this C11 feature. It's much simpler and also faster than pthread_[sg]etspecific().
2019-02-27Fixed link time optimizer check for FreeBSDMaria Matejka
2019-02-26Build: No link time optimization when debug is enabledMaria Matejka
2019-02-20Enabled link time optimization.Maria Matejka
2019-02-20Filter: merged filter instruction constructors, counting line size on ↵Maria Matejka
instruction construct
2019-02-20Configure: Don't check for implicit fallthrough unless when debugging.Jan Maria Matejka
2018-12-18Perf: Protocol to measure BIRD performance internallyMaria Matějka
This protocol is highly experimental and nobody should use it in production. Anyway it may help you getting some insight into what eats so much time in filter processing.
2018-12-18Debug: support for -gdwarf-4 is not available everywhereJan Maria Matejka
2018-12-04Unix: Change debugging optionsOndrej Zajicek (work)
The old behavior was that enabling debugging did many nontrivial changes in BIRD behavior. The patch changes it that these changes are generally independent. Compiling with --enable-debug now just enables compile-time debug macros, but do not automatically activate debug mode (-d) nor local mode (-l). Debug mode with output to file (-D) do not force foreground mode (-f), therefore there is no need for backgroud option (-b), which is removed. Also fixes a bug when the default log target in -D mode was stderr instead of given debug file.
2018-11-21Autoconf: Minor cleanupOndrej Zajicek (work)
2018-11-20The MRT protocolOndrej Zajicek (work)
The new MRT protocol is responsible for periodic RIB table dumps in the MRT format (RFC 6396). Also the existing code for BGP4MP MRT dumps is refactored and splitted between BGP to MRT protocols, will be more integrated into MRT in the future. Example: protocol mrt { table "*"; filename "%N_%F_%T.mrt"; period 60; } It is partially based on the old MRT code from Pavel Tvrdik.
2018-11-18Configure: Use standard --runstatedir optionOndrej Zajicek (work)
Newer Autoconf defines --runstatedir option for setting directory for run-time variable data. Use it instead our old --with-runtimedir.
2018-08-14Bison: A bit more verbose error messages in config.Jan Maria Matejka
2018-08-14M4: generate synchronization linesJan Maria Matejka
This also includes Bison version check. Versions before 3.0 don't support them in a reliable way and we don't promise to work with versions older than 2.4.
2018-06-26Android: check for extra libs needed for buildMaria Matejka
2018-01-09Moved freebsd cflags and ldflags to configureJan Maria Matejka
2018-01-02Merge branch 'master' into int-newOndrej Zajicek (work)
2018-01-02Remove libhistory checkOndrej Zajicek (work)
According to GNU Readline developers, if we link with libreadline then there is no need to link with libhistory at all.
2017-12-10Switchoff for MPLS in kernel.Maria Jan Matejka
2017-07-19Configure: Fix a typo in checking of backtrace()Martin Mares
2017-05-18Fix of the previous fixOndrej Zajicek (work)
Avoid empty macro argument to avoid default behavior.
2017-05-18Fix minor bug in configure scriptOndrej Zajicek (work)
Space in action branch breaks build on some platforms.
2017-05-17Merge branch 'master' into int-newOndrej Zajicek (work)
2017-05-17Fix of the previous commitOndrej Zajicek (work)
2017-05-17History lib may be integrated to Readline libOndrej Zajicek (work)
2017-05-17Fix build on systems with dirty headersOndrej Zajicek (work)
2017-05-17Merge branch 'master' into int-newOndrej Zajicek (work)
2017-05-17One more configure cleanupOndrej Zajicek (work)
Simplify BIRD client library checks, add proper devel header checks and prefer dependency on just tinfo than full ncurses.
2017-05-16Merge branch 'master' into int-newOndrej Zajicek (work)
2017-05-16Remove autoconf macros for time_t and alignmentOndrej Zajicek (work)
Replaced by constant compile-time expressions. CPU_STRUCT_ALIGN is not really correct, but is consistent with the old behavior.
2017-05-16Minor autoconf cleanupsOndrej Zajicek (work)
Make indentation and quotation consistent in configure macros. Also remove --with-sysinclude option, which was broken for 7 years and nobody complained. Thanks to Ruben Kerkhof for source patches.
2017-05-16Minor autoconf cleanup and documentation updateOndrej Zajicek (work)
2017-05-16Some more autoconf cleanupsOndrej Zajicek (work)
Replace integer type width detection with C99 fixed-width types. Also remove some unused or obsolete code. Thanks to Ruben Kerkhof for the patchset.
2017-05-09Merge branch 'master' into int-newOndrej Zajicek (work)