haproxy/dev
Aurelien DARRAGON 6a46ea603c DEV: hpack: fix trash build regression
Since 7d84439 ("BUILD: hpack: include global.h for the trash that is needed
in debug mode"), hpack decode tool fails to compile on targets that enable
USE_THREAD. (ie: linux-glibc target as reported by Christian Ruppert)

When building hpack devtool, we are including src/hpack-dec.c as a dependency.
src/hpack-dec.c relies on the global trash whe debug mode is enabled.
But as we're building hpack tool with a limited scope of haproxy
sources, global trash (which is declared in src/chunk.c) is not available.
Thus, src/hpack-dec.c relies on a local 'trash' variable declared within
dev/hpack/decode.c

This used to work fine until 7d84439.
But now that global.h is explicitely included in src/hpack-dec.c,
trash variable definition from decode.c conflicts with the one from global.h:

  In file included from include/../src/hpack-dec.c:35,
                   from dev/hpack/decode.c:87:
  include/haproxy/global.h:52:35: error: thread-local declaration of 'trash' follows non-thread-local declaration
     52 | extern THREAD_LOCAL struct buffer trash;

Adding THREAD_LOCAL attribute to 'decode.c' local trash variable definition
makes the compiler happy again.

This should fix GH issue #2009 and should be backported to 2.7.

(cherry picked from commit 532ebee38e)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit 29d13c9a7d8b764b04efc18aae04dead19fb7c1c)
Signed-off-by: Willy Tarreau <w@1wt.eu>
2023-02-13 08:11:40 +01:00
..
base64 CONTRIB: move some dev-specific tools to dev/ 2021-04-02 17:48:42 +02:00
coccinelle DEV: coccinelle: add endp_flags.cocci 2022-05-27 19:33:34 +02:00
flags DEV: flags: add missing CO_FL_FDLESS connection flag 2022-09-12 17:54:22 +02:00
haring DEV: haring: add a new option "-r" to automatically repair broken files 2023-01-27 14:28:41 +01:00
hpack DEV: hpack: fix trash build regression 2023-02-13 08:11:40 +01:00
plug_qdisc CONTRIB: move some dev-specific tools to dev/ 2021-04-02 17:48:42 +02:00
poll CONTRIB: move some dev-specific tools to dev/ 2021-04-02 17:48:42 +02:00
tcploop CONTRIB: move some dev-specific tools to dev/ 2021-04-02 17:48:42 +02:00
trace CONTRIB: move some dev-specific tools to dev/ 2021-04-02 17:48:42 +02:00
udp BUG/MINOR: dev/udp: properly preset the rx address size 2022-08-31 10:43:54 +02:00