mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-26 15:33:00 +00:00
haproxy public development tree
3a72ba2aed
With GCC 12.2.0 and O2 optimization activated, compiler reports the following warning for qc_release_lost_pkts(). In function ‘quic_tx_packet_refdec’, inlined from ‘qc_release_lost_pkts.constprop’ at src/quic_conn.c:2056:3: include/haproxy/atomic.h:320:41: error: ‘__atomic_sub_fetch_4’ writing 4 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=] 320 | #define HA_ATOMIC_SUB_FETCH(val, i) __atomic_sub_fetch(val, i, __ATOMIC_SEQ_CST) | ^~~~~~~~~~~~~~~~~~ include/haproxy/quic_conn.h:499:14: note: in expansion of macro ‘HA_ATOMIC_SUB_FETCH’ 499 | if (!HA_ATOMIC_SUB_FETCH(&pkt->refcnt, 1)) { | ^~~~~~~~~~~~~~~~~~~ GCC thinks that quic_tx_packet_refdec() can be called with a NULL argument from qc_release_lost_pkts() with <oldest_lost> as arg. This warning is a false positive as <oldest_lost> cannot be NULL in qc_release_lost_pkts() at this stage. This is due to the previous check to ensure that <pkts> list is not empty. This warning is silenced by using ALREADY_CHECKED() macro. This should be backported up to 2.6. This should fix github issue #1852. |
||
---|---|---|
.github | ||
addons | ||
admin | ||
dev | ||
doc | ||
examples | ||
include | ||
reg-tests | ||
scripts | ||
src | ||
tests | ||
.cirrus.yml | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.travis.yml | ||
BRANCHES | ||
CHANGELOG | ||
CONTRIBUTING | ||
INSTALL | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
README | ||
SUBVERS | ||
VERDATE | ||
VERSION |
The HAProxy documentation has been split into a number of different files for ease of use. Please refer to the following files depending on what you're looking for : - INSTALL for instructions on how to build and install HAProxy - BRANCHES to understand the project's life cycle and what version to use - LICENSE for the project's license - CONTRIBUTING for the process to follow to submit contributions The more detailed documentation is located into the doc/ directory : - doc/intro.txt for a quick introduction on HAProxy - doc/configuration.txt for the configuration's reference manual - doc/lua.txt for the Lua's reference manual - doc/SPOE.txt for how to use the SPOE engine - doc/network-namespaces.txt for how to use network namespaces under Linux - doc/management.txt for the management guide - doc/regression-testing.txt for how to use the regression testing suite - doc/peers.txt for the peers protocol reference - doc/coding-style.txt for how to adopt HAProxy's coding style - doc/internals for developer-specific documentation (not all up to date)